第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MIN / MAX與ORDER BY和LIMIT

MIN / MAX與ORDER BY和LIMIT

紅糖糍粑 2019-08-12 17:24:23
MIN / MAX與ORDER BY和LIMIT在以下查詢中,您認(rèn)為哪種方法更好?你的理由是什么(代碼效率,更好的可維護(hù)性,更少的WTFery)......SELECT MIN(`field`)FROM `tbl`;SELECT `field`FROM `tbl`ORDER BY `field`LIMIT 1;
查看完整描述

3 回答

?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

在最糟糕的情況下,如果您正在查看未MIN()編制索引的字段,則使用該表需要單次完整傳遞。使用SORTLIMIT需要一個(gè)文件排序。如果針對(duì)大型桌面運(yùn)行,則可能會(huì)在性能方面存在顯著差異。作為一個(gè)毫無意義的數(shù)據(jù)點(diǎn),在我的開發(fā)服務(wù)器上占用MIN()了.36秒,SORT然后LIMIT在我的開發(fā)服務(wù)器上的106,000行表中占用了0.84秒。

但是,如果您正在查看索引列,則差異更難以注意到(兩種情況下無意義的數(shù)據(jù)點(diǎn)均為0.00秒)。然而,看看explain的輸出,它看起來MIN()能夠簡(jiǎn)單地從索引中獲取最小值('Select tables optimized away'和'NULL'行),SORT而且LIMIT仍然需要對(duì)索引執(zhí)行有序遍歷(106,000行)。實(shí)際的性能影響可能微不足道。

它似乎MIN()是要走的路 - 在最壞的情況下更快,在最好的情況下無法區(qū)分標(biāo)準(zhǔn)SQL,并且最明確地表達(dá)了您想要獲得的價(jià)值。正如mson所提到的那樣,似乎使用SORT并且LIMIT可取的唯一情況是,你在編寫一個(gè)從任意列中找到頂部或底部N值的一般操作,并且不值得寫出特殊情況操作。


查看完整回答
反對(duì) 回復(fù) 2019-08-12
?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

SELECT MIN(`field`)
FROM `tbl`;

僅僅因?yàn)樗cANSI兼容。限制1特別適用于MySql,因?yàn)門OP是SQL Server。


查看完整回答
反對(duì) 回復(fù) 2019-08-12
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

MIN是優(yōu)選的。

ORDER BY + LIMIT有用的另一個(gè)原因是,如果要獲取與MIN列不同的列的值。

例:

SELECT some_other_field, fieldFROM tblORDER BY field
LIMIT 1


查看完整回答
反對(duì) 回復(fù) 2019-08-12
  • 3 回答
  • 0 關(guān)注
  • 1560 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)