博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码优化
阅读量:4938 次
发布时间:2019-06-11

本文共 984 字,大约阅读时间需要 3 分钟。

一、没有原因不要copy变量

有时为了使代码更加“干净”,常常把已经定义的变量重新赋值给另一个变量。这实际上就导致了双重内存的消耗(当改变变量的时候),这就导致脚本的性能下降。比如一个用户把一个512KB的变量在额外插入给另一个变量,那么就会导致1MB的内存被消耗掉。

$description = strip_tags($_POST['description']);

echo $description;

上面的代码没有任何原因,复制了一遍变量。你仅需要使用内联的方式简单输出变量,而不用额外的消耗内存。  

 echo strip_tags($_POST['description']);

 

二、避免循环做SQL操作

 

经常犯的错误是把一个SQL 操作放置到一个循环中,这就导致频繁的访问数据库,更重要的是,这会直接导致脚本的性能低下。以下的例子,你能够把一个循环操作重置为一个单一的SQL语句。

过程:

foreach ($userList as $user) {

  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';

  mysql_query($query);

}

 

替换这种循环方案,你能够拼接数据成为一个单一的数据库操作。

过程:

 

$userData = array();

 

foreach ($userList as $user) {

 

    $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';

 

 }

 

$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);

 

mysql_query($query);

 

INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...

转载于:https://www.cnblogs.com/zzeng347/p/9243279.html

你可能感兴趣的文章
[zz]使用 libevent 和 libev 提高网络应用性能
查看>>
jQuery ajax - getJSON() 用法实例
查看>>
python输出带颜色的字体
查看>>
Linux故障处理最佳实践
查看>>
6标准文件读写
查看>>
jsTree 核心功能(core functionality) API
查看>>
Perl oop链接数据库
查看>>
安卓开发16:Spinner 下拉列表控件
查看>>
参数数据自动生成app架构设计【一】
查看>>
网络虚拟化我眼中的OpenFlow
查看>>
多线程笔记1
查看>>
[leetcode] 3. Longest Substring Without Repeating Characters
查看>>
06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)
查看>>
itemController.java
查看>>
获取判断IE版本 TypeError: Cannot read property 'msie' of undefined
查看>>
tcpreplay安装使用
查看>>
用systemtap对sysbench IO测试结果的分析1
查看>>
自增锁
查看>>
ps命令学习
查看>>
关于proteus仿真的串口问题
查看>>