Ais*_*iva 12 sql database sql-server select
我想知道只是为了好奇,Select Count(*) from SomeTableName它还遍历数据库的所有行Select * from SomeTableName?
或者,数据库的元数据中是否有任何其他计数字段,每次添加或删除行时都会自动更新?并且该字段由前一个查询访问.
另外我想知道哪两个查询更快,多少?
Mar*_*ith 17
SELECT Count(*)
FROM SomeTableName
Run Code Online (Sandbox Code Playgroud)
将始终计算所有行.虽然(不像SELECT *)它不必读取所有列,并且可以使用可用的最窄(非过滤)索引.
与MySQL(MyISAM引擎)不同,它不会从元数据中检索值.
行元数值在元数据中可用,可以从中检索,sys.partitions但从不用于COUNT查询,并且不总是准确的.
| 归档时间: |
|
| 查看次数: |
365 次 |
| 最近记录: |