-1

可能重复:
哪个更快/最好?SELECT * 或 SELECT column1、colum2、column3 等

SELECT * FROM做一个table_name 比做有很大的性能影响SELECT specific_columns FROM table_name吗?

4

3 回答 3

1

是的,它会影响性能,尤其是当您选择多行时。仅选择您真正需要的字段。


让我们以一个简单的用户名存在性检查为例:
当您只能选择 ID 时,为什么要选择所有内容?两者都做这项工作,但只选择一个领域是更好的解决方案。

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

而不是:

SELECT * FROM users WHERE `username` = 'Nikola K.'
于 2012-07-24T21:40:23.827 回答
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/

于 2012-07-24T21:38:04.723 回答
0

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

于 2012-07-24T21:39:44.553 回答