各位大侠好,
select top 5 * from users order by username
象上面的一条语句,SQL SERVER 究竟是如何分析,然后通过磁盘的IO 读取到相应的数据的?
另外,为了执行这个SQL, SERVER SERVER 究竟访问了几次硬盘文件?
谢谢
------解决方案--------------------
看一下执行计划
------解决方案--------------------
set statistics io on 打开io选项就能看到数据库查询时的io了
------解决方案--------------------
select top 5 * from table1
------解决方案--------------------
--Top(TOP EXPRESSION:((5)))
------解决方案--------------------
--Clustered Index Scan(OBJECT:([dbtest1].[dbo].[table1].[index_1]))
------解决方案--------------------
这个问题答案如果往大了说,就是整个关系引擎+存储引擎了吧?
------解决方案--------------------
路过学习
------解决方案--------------------
只会写这样的,不知道原理的路过。
------解决方案--------------------
调试下 有IO执行状态
------解决方案--------------------
我帮你顶顶,取数据,对取出的数据排序
------解决方案--------------------
关键是用了order by,所以如果排序字段不是聚集列的话,应该不是从聚集索引扫描的