Gae*_*ano 6 sql database distinct query-optimization
使用DISTINCT对SQL查询执行计划的查询成本有很大影响吗?
在一个包含100,000行的表中,两者之间会有什么不同:
select * from TABLE
Run Code Online (Sandbox Code Playgroud)
和
select distinct(*) from TABLE
Run Code Online (Sandbox Code Playgroud)
以毫秒计?
通常,答案是许多毫秒。在select distinct相当于做一个group by对所有列。您不太可能在所有列上都有索引,因此索引通常不会很有用。
某些数据库引擎可能足够智能,可以检测其中一列是否已声明distinct或primary key. 在这种情况下,可能存在优化查询的引擎。
但是,一般情况下,select distinct除非需要,否则应避免使用。
| 归档时间: |
|
| 查看次数: |
3851 次 |
| 最近记录: |