国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

TOPN 子句與SET ROWCOUNTN 之對比

2024-07-21 02:31:08
字體:
來源:轉載
供稿:網友

問:為了從查詢中返回指定數量的行,使用 TOPN 子句比使用SET ROWCOUNTN 語句要快嗎?

答:在正確進行了索引的情況下,TOP N 子句和SET ROWCOUNT N 語句是一樣快的,但是如果數據未經過排序,TOP N 要快一些。在輸入未排序的情況下,TOP N 操作時使用一個經過排序的小的中間臨時表,而且操作時僅僅替換該表的最后一行。如果輸入是近似排序的,TOP N 引擎必須刪除或插入最后行,但只需幾次操作即可。近似排序意味著您正在處理的堆集在初始構建時可進行有序的插入操作,并且不需要進行很多的更新、刪除、向前移動指針等操作。

排序一個近似排序的堆集比排序一個巨大的表要更有效率。在一次測試中,使用TOP N 來對一個由無序插入操作構建的并且含有同樣的行數的表進行排序,發現TOP N 的效率也不高。通常,在進行過索引和未進行過索引的情況下,I/O時間都是一樣的;但是如果沒有進行過索引,SQL Server 必須要進行一次全表掃描。處理器時間和實耗時間說明近似排序的堆集要更有效率一些。但I/O時間是相同的,因為不管怎樣SQL Server都要讀取所有的行。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 买车| 虞城县| 宁波市| 塔河县| 招远市| 鲁山县| 山阳县| 体育| 石狮市| 阿城市| 峡江县| 靖边县| 西盟| 荥阳市| 明水县| 临夏市| 门源| 渝中区| 喀喇沁旗| 南安市| 丽水市| 正阳县| 彭水| 达州市| 洛宁县| 台东县| 石棉县| 宾川县| 曲松县| 台东县| 苗栗市| 白河县| 镇远县| 广元市| 济南市| 敦化市| 新干县| 镇雄县| 额济纳旗| 灵丘县| 平山县|