環境:
mssql 2008, 都在沒有使用快取的情況下面執行
表中有8w 條記錄
分類1有134條記錄
分別測試了3個語句
--aselect
欄位1from
表1 where ftype=
'分類1
'order by 欄位1
--bselect
top1
欄位1from
表1 where ftype=
'分類1
'order
by 欄位1 desc--c
select
max(欄位1)
from
表1 where ftype=
'分類1
'
a 語句 很快幾乎0秒
b 語句 需要近 8秒
c 語句和 b一樣 需要8 秒
看來top和max的效率是及其的低啊
後來求最大值換了乙個寫法
declare@var01
select
@var01
=欄位1
from
表1 where ftype=
'分類1
'order
by 欄位1 asc
select
@var01
速度和a寫法一樣
剛剛繼續測試了一下
改成top 100, top 200速度很快
改成top 1, top 10速度都很慢,搞不懂ms。
SQL中MAX 和MIN 的用法
select max column name min column name from table name1 查詢teacher表中教師的最大年齡。例項 select max age as max age from teacher這樣只能查出來乙個最大值,不能查出教師的id,name等其他資訊。2...
MySql exists和in的效率
如果查詢的兩個表大小相當,那麼用in和exists差別不大。如果兩個表中乙個較小,乙個是大表,則子查詢表大的用exists,子查詢小的用in 例如 表a 小表 表b 大表 1 select from a where cc in select cc from b 效率低,用到了a表上cc列的索引 se...
Linux核心中的Min和Max函式
今天看 時看到乙個有趣的東東,就是linux核心也有min函式,但它的實現很是奇怪,先貼出來 min max macros that also do strict type checking.see the unnecessary pointer comparison.define min x,y ...