為什么mysql下載這么慢 為什么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é)得很慢。
mysql中數(shù)據(jù)量大時(shí)超30萬(wàn),加上order by速度就變慢很多,一般需要0.8秒左右,不加只需要0.01幾秒?
!order By是一個(gè)排序字段。有些人喜歡添加索引來(lái)解決這個(gè)問(wèn)題。但是對(duì)于一個(gè)寫操作頻繁的表,可以說(shuō)如果有多個(gè)索引,數(shù)據(jù)表的大小會(huì)急劇增加
另一方面,建議使用InnoDB。有人說(shuō)這要快得多
對(duì)于一個(gè)大數(shù)據(jù)級(jí)的數(shù)據(jù)庫(kù)來(lái)說(shuō),最關(guān)鍵的一步還是要采取優(yōu)化SQL,同時(shí)也要借鑒非常規(guī)的方法
1,以空間換取速度,也就是說(shuō),看你是否能做一些適當(dāng)?shù)木彺?/p>
2,以速度換取空間,這是可用于空間容量較小的主機(jī)