本文主要給大家簡單講講MySQL條件及分頁查詢注意簡析,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔mysql條件及分頁查詢注意簡析主題吧,希望可以給大家帶來一些實際幫助。
創新互聯建站專業為企業提供固始網站建設、固始做網站、固始網站設計、固始網站制作等企業網站建設、網頁設計與制作、固始企業網站模板建站服務,10多年固始做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
select id from news where cate = 1 order by id desc limit 500000 ,10 查詢時間 20 秒
好恐怖的速度!!利用第一節《百萬數據mysql數據測試環境介紹》知識進行優化:
select * from news where cate = 1 and id > (select id from news where cate = 1 order by id desc limit 500000,1 ) order by id desc limit 0,10 查詢時間 15 秒
優化效果不明顯,條件帶來的影響還是很大!在這樣的情況下無論我們怎么去優化sql語句就無法解決運行效率問題。那么換個思路:建立一個索引表,只記錄文章的id、分類信息,我們將文章內容這個大字段分割出去。
表 news2 [ 文章表 引擎 myisam 字符集 utf-8 ] ------------------------------------------------- idint11主鍵自動增加 cateint11索引
在寫入數據時將2張表同步,查詢是則可以使用news2 來進行條件查詢:
select * from news where cate = 1 and id > (select id from news2 where cate = 1 order by id desc limit 500000,1 ) order by id desc limit 0,10
注意條件 id > 后面使用了news2 這張表!
運行時間 1.23秒,我們可以看到運行時間縮減了近20倍!!數據在10萬左右是查詢時間可以保持在0.5秒左右,是一個逐步接近我們能夠容忍的值!
但是1秒對于服務器來說依然是一個不能接受的值!!還有什么可以優化的辦法嗎??我們嘗試了一個偉大的變化:
將 news2 的存儲引擎改變為innodb,執行結果是驚人的!
select * from news where cate = 1 and id > (select id from news2 where cate = 1 order by id desc limit 500000,1 ) order by id desc limit 0,10
只需要 0.2秒,非常棒的速度。為什么會有怎么大的差別呢?請觀看下一篇 mysql存儲引擎詳解。
mysql條件及分頁查詢注意簡析就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
分享題目:mysql條件及分頁查詢注意簡析
標題來源:http://m.2m8n56k.cn/article26/jdchjg.html
成都網站建設公司_創新互聯,為您提供ChatGPT、品牌網站制作、企業網站制作、網站導航、網站內鏈、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯