Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql选择行优化星号或名称_Php_Mysql - Fatal编程技术网

Php mysql选择行优化星号或名称

Php mysql选择行优化星号或名称,php,mysql,Php,Mysql,假设我有一个名为tablex的表: ID,col1,col2,col3,col4,col5,col6. 考虑到处理过程中不需要col4,以下哪种代码更快 代码1-从表X中选择* 代码2-从表X中选择ID、col1、col2、col3、col5、col6 (注意col4在代码2中缺失,因为它不是必需的,所有col都是80个VARCHAR的文本,ID只是int,自动递增) 谢谢 属性的显式列表将稍微快一点(或不快一点),因为col4不需要通过连接获取和传递 此外,如果使用查询缓存,缓存的结果集的大

假设我有一个名为
tablex
的表:

ID,col1,col2,col3,col4,col5,col6.
考虑到处理过程中不需要col4,以下哪种代码更快

代码1-
从表X中选择*

代码2-
从表X中选择ID、col1、col2、col3、col5、col6

(注意col4在代码2中缺失,因为它不是必需的,所有col都是80个VARCHAR的文本,ID只是int,自动递增)


谢谢

属性的显式列表将稍微快一点(或不快一点),因为
col4
不需要通过连接获取和传递

此外,如果使用查询缓存,缓存的结果集的大小将减小,因此可以缓存更多的结果集


通常,您应该始终明确列出您的列(不仅是出于性能原因,也是出于性能原因)。

代码2更快,但您应该自己运行一些测试来检查它。

这是您必须进行基准测试的内容。对于大多数小查询,您很可能不会注意到任何差异。如果col4是一个包含千兆字节大小文件的BLOB,那么它们很可能是特定的第1列(而不是
*
格式)会更快,因为“无用”的千兆字节不必每次都被提取。

应该有一个标记:D@aletzo:我也有过一次,但最近投票率上升,所以现在为零:)