为什么sql查询执行得更快,如果我使用SELECT
语句中的实际列名而不是SELECT *
?SQL SELECT子句调整
回答
因为根据查询,它必须弄清楚是否有唯一的名称,它们是什么,等等。如果你指定它,它的全部都是为它做的。
但它仍然需要验证指定的列是否存在等。 – 2011-04-06 12:11:14
哦,它确实如此,但是如果你已经在tablea.id,tableb.something ..和theres id这两个中说过了,它不需要尝试和锻炼哪个id它使用或者如果id不明确,虽然我认为时间差,但差异应该很小。我很想看到一些时间显示超过几毫秒的时间。 – BugFinder 2011-04-06 13:46:05
一个明显的差异似乎很奇怪......因为我认为它是一个非常微小的差异,并且很想去测试它。
在声明中使用Select *
的任何差异都可能是由于它花费额外的时间来找出所有列名是什么。
+1我不相信这个问题的前提。 – 2011-04-06 12:07:23
一般来说,你讲的越多,计算得越少。这对许多系统都是一样的。
- 1. SQL - 在SELECT子句
- 2. SQL Select子选择语句
- 3. SQL逗号SELECT子句
- 4. SQL Select for multiple where子句
- 5. SQL select语句在where子句中
- 6. SQL select语句
- 7. SQL SELECT语句
- 8. SQL SELECT语句
- 9. 调整Oracle SQL语句
- 10. SQL SELECT和关闭两个where子句
- 11. 从一个SELECT子句中的SQL Server
- 12. SQL高级查询 - 在SELECT子句
- 13. 数组中的SQL select IN子句?
- 14. SELECT值WHERE子句
- 15. 删除调整行SQL Select Statment
- 16. SQL - Where Select by Select Select语句?
- 17. Tricky SQL SELECT语句
- 18. T-SQL SELECT语句
- 19. 在SQL SELECT语句
- 20. PostgreSQL的 - 如果在SELECT语句子句
- 21. 如果内部SELECT子句
- 22. SELECT和FROM子句中的子SELECT是否符合标准?
- 23. 使用WHERE子句过滤SQL SELECT语句
- 24. sql select语句问题中的where子句
- 25. SQL - 如何使用SELECT语句中的列不BY子句
- 26. Java SQL Select语句在WHERE子句中使用多个变量
- 27. Groovy SQL忽略动态select语句中的order by子句
- 28. 如何处理SQL Select语句(IBatis 2)中的Empty IN子句?
- 29. FROM子句中的嵌套SELECT语句SQL
- 30. select子句中的MySQL子查询
你是说'SELECT *'与'SELECT表中的所有列的SELECT列表?如果是的话,应该差不多是零。如果你的意思是'SELECT *'与只包含表中某些列的SELECT列表,那么很容易解释。 – 2011-04-06 12:08:27
你问这个问题是因为你看到了你正在使用的系统中的差异,或者你听说过你不应该使用'SELECT *'? – Tony 2011-04-06 12:11:14
你使用的是什么数据库产品? – 2011-04-06 13:02:35