數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程 為什么MySQL在數(shù)據(jù)庫(kù)較大的時(shí)候分頁(yè)查詢很慢,如何優(yōu)化?
為什么MySQL在數(shù)據(jù)庫(kù)較大的時(shí)候分頁(yè)查詢很慢,如何優(yōu)化?正如房東所說(shuō),分頁(yè)查詢?cè)谖覀兊膶?shí)際應(yīng)用中非常常見(jiàn),也是問(wèn)題最多的查詢場(chǎng)景。例如,對(duì)于下面的簡(jiǎn)單語(yǔ)句,通常的思考方式是在name、age、reg
為什么MySQL在數(shù)據(jù)庫(kù)較大的時(shí)候分頁(yè)查詢很慢,如何優(yōu)化?
正如房東所說(shuō),分頁(yè)查詢?cè)谖覀兊膶?shí)際應(yīng)用中非常常見(jiàn),也是問(wèn)題最多的查詢場(chǎng)景。例如,對(duì)于下面的簡(jiǎn)單語(yǔ)句,通常的思考方式是在name、age、register中u在time字段上創(chuàng)建一個(gè)復(fù)合索引。這樣,條件排序可以有效地利用索引,性能得到快速提高。
如上例所示,當(dāng)limit子句變?yōu)椤發(fā)imit 100000,50”時(shí),我們會(huì)發(fā)現(xiàn),如果只選擇了50條語(yǔ)句,為什么會(huì)變慢?
,所以我們會(huì)覺(jué)得很慢。
最近我的數(shù)據(jù)庫(kù)(sql)查詢速度很慢,這是什么原因?
慢查詢與表結(jié)構(gòu)、語(yǔ)句、系統(tǒng)等有關(guān),索引等方法可以改善表結(jié)構(gòu),另外,如果返回的數(shù)據(jù)量大,速度也會(huì)慢,所以應(yīng)該盡量查詢比較有用的數(shù)據(jù),然后再查詢語(yǔ)句。例如,在查詢中使用不如使用Jin query快,并且在to><之間切換會(huì)更快。另外,使用子查詢會(huì)慢得多,對(duì)于一些非常復(fù)雜的查詢,最好使用存儲(chǔ)過(guò)程。有時(shí),使用臨時(shí)表很慢。但是,使用臨時(shí)表從大量數(shù)據(jù)中查詢數(shù)據(jù)以進(jìn)行子查詢的速度不如使用臨時(shí)表來(lái)查詢數(shù)據(jù)的速度快。不同的問(wèn)題可以用不同的方法來(lái)解決,這取決于你想要哪種方法。你不能僅憑你的問(wèn)題就直接判斷。然而,優(yōu)化查詢語(yǔ)句是關(guān)鍵。