首頁  >  文章  >  百萬級資料下的mysql深度解析

百萬級資料下的mysql深度解析

藏色散人
藏色散人轉載
2019-04-29 10:17:535619瀏覽

mysql 作為一款非常優秀的免費資料庫被廣泛的使用,平時我們開發的專案資料過百萬的時候不多。最近花了大量的時間來深入的研究mysql百萬級數據情況下的優化。遇到了很多問題並解決了他們,特此分享給大家。歡迎提出您的寶貴意見!

一、百萬級資料msql測試環境介紹

mysql 在300萬個資料(myisam引擎)情況下使用count(*) 進行資料總數查詢包含條件(正確設定索引)運作時間正常。對於經常進行讀取的資料我們建議使用myIsam引擎...

詳情點擊:《百萬級資料msql測試環境介紹

二、百萬資料下mysql分頁問題

在開發過程中我們常會使用分頁,核心技術是使用limit進行資料的讀取。在使用limit進行分頁的測試過程中,得到以下資料:

select * from news order by id desc limit 0,10
耗时0.003秒
select * from news order by id desc limit 10000,10
耗时0.058秒
select * from news order by id desc limit 100000,10
耗时0.575秒
select * from news order by id desc limit 1000000,10
耗时7.28秒

我們驚訝的發現mysql在資料量大的情況下分頁起點越大查詢速度越慢,100萬條起的查詢速度已經需要7秒鐘。這是一個我們無法接受的數值...

詳情點擊:《百萬資料下mysql分頁問題

三、百萬資料下mysql條件查詢、分頁查詢的注意事項

接續上一節《百萬資料mysql分頁問題》,我們加上查詢條件:

select id from news
where cate = 1
order by id desc
limit 500000 ,10
查询时间 20 秒

好恐怖的速度! !利用第一節《百萬資料mysql資料測試環境介紹》知識進行最佳化...

詳情點擊:《百萬資料下mysql條件查詢、分頁查詢的注意事項

四、mysql儲存引擎myIsam和innodb的區別

#MySQL有多種儲存引擎,MyISAM和InnoDB是其​​中常用的兩種。這裡介紹關於這兩種引擎的一些基本概念(非深入介紹)。

MyISAM是MySQL的預設儲存引擎,基於傳統的ISAM類型,支援全文搜索,但不是事務安全的,而且不支援外鍵。每張MyISAM表格存放在三個檔案中:frm 檔案存放表格定義;資料檔案是MYD (MYData);索引檔案是MYI (MYIndex)...

詳情點擊:《mysql存儲引擎myIsam和innodb的差異

#五、MySQL效能最佳化的一些經驗

大多數的MySQL伺服器都開啟了查詢快取。這是提高性最有效的方法之一,而且這是由MySQL的資料庫引擎處理的。當有很多相同的查詢被執行了多次的時候,這些查詢結果會被放到一個快取中,這樣,後續的相同的查詢就不用操作表而直接存取快取結果了...

詳情點擊:《MySQL效能優化的一些經驗

陳述:
本文轉載於:hcoder.net。如有侵權,請聯絡admin@php.cn刪除