最优化的MySQL语法

时间:2011-10-19 19:22:06

标签: php mysql optimization syntax

虽然我在网上搜索了很多,但还没有找到答案。在PHP中,您可以优化输出,例如,通过输入

echo 'This is a sentence by ',$name,' which is fast';

而不是

echo 'This is a sentence by $name which is very inefficient';

我的基本示例代码是

$server=english
mysql_query("INSERT INTO uz(id,email,pw,cook) VALUES('$id','$mail','$pw','$cook')");

在语句中使用双引号和var名称。有没有办法优化这个或它是“最好的”版本?我尝试过的每次尝试都会导致mysql错误。

2 个答案:

答案 0 :(得分:7)

没关系。

这种优化对您的表现没有任何实际影响。各种连接方法之间的性能差异在微秒内。他们根本不扮演现实世界的角色。

使用最可读的内容,而且大部分内容与您的编码风格同步。

您展示的echo示例也是如此。除非你运行100,000次(在这种情况下,你会做错事无论如何),在性能方面没有可衡量的差异。如果您愿意,可以使用microtime()执行自己的基准测试。

答案 1 :(得分:0)

如实交易,以微秒为单位;使用{}扩展字符串中的周围变量将使解析器保持一两个周期,并且在使用时也会减少常量和关联数组键之间的混淆。

For Instance:

$string = 'hi ' . $name . ' how are you?'; //fast
$string = "hi $name how are you?"; //very slightly slower
$string = "hi {$name} how are you?"; //very slightly faster than second example

$string = 'hi ' . $person['name'] . ' how are you?'; //fast
$string = "hi $person[name] how are you?"; //slightly slower and prone constant clashes
$string = "hi {$person['name']} how are you?"; //very slightly faster and not prone to clashes

在带有数组键的第二个示例中,如果在某处声明了const name,则可能会遇到问题,因为解释器不知道您引用哪一个并默认使用该常量。

在数据库方面你可以通过在字段和表名周围使用“`”来优化你的查询,它们既可以防止关键字冲突,也可以更快地解释(仍然以微秒为单位)。

For Instance:

mysql_query("SELECT `id`,`name`,`date` FROM `table` WHERE `id` = {$id}");