本篇內容介紹了“MySQL單表查詢怎么優化”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于做網站、網站制作、欒城網絡推廣、微信小程序定制開發、欒城網絡營銷、欒城企業策劃、欒城品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯公司為所有大學生創業者提供欒城建站搭建服務,24小時服務熱線:18982081108,官方網址:www.yijiale78.com
(1)很多人可能并不知道MYSQL有一個神奇的關鍵字 EXPLAIN 關鍵字,它可以讓你看到MYSQL是如何去處理你的SQL語句的,這可以幫我們判斷得出影響你數據庫性能的是查詢語句還是表結構的原因。
(2)我們在進行數據庫查詢時,應該明確你需要查詢哪一些字段,而不是隨意使用select *.
(3)可以使用連接(JOIN)來代替子查詢。
(4)使用limit , count 或者條件 where子句時,需要限制的條件都要加上,確保你要查什么數據最后取到的都是你需要查找的數據,盡量不要查到無用數據,做到不濫用。比如說我要查找姓名對應的賬號,這樣的話就可以用上 limit 1,這樣mysql在找到一條數據后就停止搜索,而不是全文搜索完再停止。
開啟查詢緩存:
這是提高查詢有效的方法之一。當查詢被執行了的時候,對應的查詢結果會被放到一個緩存中,這樣,以后進行的相同的查詢就不用操作表,而是直接訪問緩存取出查詢結果就可以了。
查詢緩存工作流程:
(1)服務器接收SQL,以SQL+DB+Query_cache_query_flags作為hash查找鍵提交到緩存中進行查詢。
(2)如果在緩存中找到了相關的處理結果就將處理結果返回給客戶端。
(3)如果沒有找到緩存則執行SQL解析、預處理以及SQL優化等一些列的操作;
(4)執行完SQL之后,將結果集保存到緩存并將處理結果返回給客戶端。
那么,我們如何判斷什么樣的情況下才需要開啟緩存呢?開啟對系統性能有明顯的提升那才有意義。方法如下:
1)通過緩存命中率判斷, 緩存命中率 = 緩存命中次數/ 查詢次數 。
2)通過緩存寫入率,寫入率 = 緩存寫入次數 / 查詢次數。
3)通過 命中-寫入率 判斷, 比率 = 命中次數 / 寫入次數, MySQL中稱之為比較能反映性能提升的指數,一般來說達到3:1則算是查詢緩存有效,而最好能夠達到10:1
與緩存相關的主要參數如下表所示。可以使用命令SHOW VARIABLES LIKE '%query_cache%'查看
緩存數據失效時機
在表的結構或數據發生改變時,查詢緩存中的數據不再生效。當INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE語句執行時會導致緩存中的數據失效。所以查詢緩存適合有大量相同查詢的時候進行使用,不適合有大量數據更新的時候使用。
可以使用下面三個SQL來清理查詢緩存:
1、FLUSH QUERY CACHE; // 清理查詢緩存內存碎片。
2、RESET QUERY CACHE; // 從查詢緩存中移出所有查詢。
3、FLUSH TABLES; //關閉所有打開的表,同時該操作將會清空查詢緩存中的內容。
“MYSQL單表查詢怎么優化”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
新聞名稱:MYSQL單表查詢怎么優化
鏈接分享:http://www.yijiale78.com/article10/jceido.html
成都網站建設公司_創新互聯,為您提供、網站制作、定制開發、域名注冊、面包屑導航、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯