SELECT *或SELECT特定列

时间:2012-07-24 21:35:53

标签: mysql

  

可能重复:
  Which is faster/best? SELECT * or SELECT column1, colum2, column3, etc

执行SELECT * FROM table_name比执行SELECT specific_columns FROM table_name会对性能产生重大影响吗?

3 个答案:

答案 0 :(得分:1)

是的,它会影响性能,特别是当您选择多行时。 只选择您真正需要的字段。


我们以一个简单的用户名存在检查为例:
为什么要选择所有内容,何时只能选择ID?两者都在做,但只选择一个字段是更好的解决方案。

SELECT `id` FROM users WHERE `username` = 'Nikola K.'

而不是:

SELECT * FROM users WHERE `username` = 'Nikola K.'

答案 1 :(得分:0)

我建议使用EXPLAIN找到最适合您需求的方法。我想这取决于你的表中有多少列。

以下是MySQL Explain的一些有用网站:

http://dev.mysql.com/doc/refman/5.0/en/explain.html

http://dev.mysql.com/doc/refman/5.0/en/using-explain.html

http://weevilgenius.net/2010/09/mysql-explain-reference/

答案 2 :(得分:0)

只选择您需要的东西!在开发中我使用*因为当我不知道我需要什么时会更容易,但在最终版本中你真的应该具体。为什么不呢?