Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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 哪一个最快*&引用;还是显式列名?_Php_Mysql - Fatal编程技术网

Php 哪一个最快*&引用;还是显式列名?

Php 哪一个最快*&引用;还是显式列名?,php,mysql,Php,Mysql,我需要找出是使用*还是只选择所需的字段更快。就我而言,只有一场比赛 那么,哪个更快?这: SELECT id, name,description,address,phone,img FROM companies WHERE username = '$cname' LIMIT 1 还是这个 SELECT * FROM companies WHERE username = '$cname' LIMIT 1 你有什么建议吗;医生:这不要紧。 唯一能起作用的情况是,如果有大量的额外数据被引入。需要在

我需要找出是使用
*
还是只选择所需的字段更快。就我而言,只有一场比赛

那么,哪个更快?这:

SELECT id, name,description,address,phone,img FROM companies WHERE username = '$cname' LIMIT 1
还是这个

SELECT * FROM companies WHERE username = '$cname' LIMIT 1

你有什么建议吗;医生:这不要紧。

唯一能起作用的情况是,如果有大量的额外数据被引入。需要在所有其他网络/磁盘/处理器因素上“可检测”的额外开销会有所不同:“试试看”,或者运行性能分析。此外,即使有额外的列,因为它仅限于一条记录,谨慎的做法是记住:工作=努力*数量

我自己更喜欢前一种显式语法,除了一次性的交互式查询。SQL应该以一种良好的方式使用

当然,如果
*
中的列与所涵盖的列匹配,那么在性能方面应该没有任何差异,因为它们将具有相同的“形状”和查询计划


愉快的编码。

一般来说,只检索所需的数据会更快。我不相信
SELECT*
会更快地进行此查询。(无论如何,这被认为是不好的形式。)在许多情况下,差异将是微乎其微的,特别是因为您只检索一行。但是,如果您的表中有一个BLOB列不是命名列之一,或者有50列,则差异可能很大。

如果这些请求中存在差异,您可能会在很短的时间内注意不到它。然而,第二个是我的Beta,除非
*
以某种方式引入了大量其他数据,否则这并不重要。我更喜欢前面的显式语法。在这种情况下,差异将是微不足道的(如果有的话)。两者之间的时间差应该非常小。即使有,也不值得你花时间去调查。查询优化更多的是关于如何查找、组合数据等。其中
$cname=“”;DROP TABLE companys;“
在第一次执行时会比较慢,但之后每次执行时都会比较快。