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

首頁 > 開發 > 綜合 > 正文

TOPN 子句與SET ROWcountN 之對比

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

問:為了從查詢中返回指定數量的行,使用 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都要讀取所有的行。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永安市| 肥东县| 汤阴县| 莎车县| 泰州市| 防城港市| 日喀则市| 安溪县| 托克逊县| 杨浦区| 江山市| 大余县| 北辰区| 得荣县| 壤塘县| 蓝田县| 盱眙县| 和政县| 桂东县| 石泉县| 澄迈县| 石阡县| 绥德县| 临安市| 朔州市| 彭州市| 延安市| 团风县| 永宁县| 府谷县| 永城市| 闵行区| 博乐市| 五莲县| 铅山县| 长宁县| 布尔津县| 清流县| 扬州市| 霍林郭勒市| 蒲城县|