- 高性能MySQL(第4版)
- (美)Silvia Botros等
- 496字
- 2023-11-24 18:39:31
優化與執行
MySQL解析查詢以創建內部數據結構(解析樹),然后對其進行各種優化,包括重寫查詢、決定表的讀取順序,以及選擇合適的索引等。用戶可以通過特殊關鍵字向優化器傳遞提示,從而影響優化器的決策過程。也可以請求服務器解釋優化過程的各個方面,使用戶可以知道服務器是如何進行優化決策的,并提供一個參考點,便于用戶重構查詢和schema、修改相關配置,使應用盡可能高效地運行。我們將在第8章介紹更多關于優化器的細節。
優化器并不關心表使用的是什么存儲引擎,但存儲引擎對于查詢優化是有影響的。優化器會向存儲引擎詢問它的一些功能、某個具體操作的成本,以及表數據的統計信息。例如,一些存儲引擎支持對某些查詢有幫助的特定索引類型。更多關于索引與schema優化的內容,請參見第6章和第7章。
在舊版本中,MySQL可以使用內部查詢緩存(query cache)來查看是否可以直接提供結果。但是,隨著并發性的增加,查詢緩存成為一個讓人詬病的瓶頸。從MySQL 5.7.20版本開始,查詢緩存已經被官方標注為被棄用的特性,并在8.0版本中被完全移除。盡管查詢緩存不再是MySQL服務器的核心部分,但緩存被頻繁請求的結果集依然是一個很好的實踐。在本書的范圍之外,一個流行的設計模式是在memcached或Redis中緩存數據。
推薦閱讀
- 數據庫應用實戰
- 數據庫基礎與應用:Access 2010
- Word 2010中文版完全自學手冊
- 商業分析思維與實踐:用數據分析解決商業問題
- Mastering Machine Learning with R(Second Edition)
- Sybase數據庫在UNIX、Windows上的實施和管理
- Scratch 3.0 藝術進階
- Learning Proxmox VE
- 圖數據實戰:用圖思維和圖技術解決復雜問題
- Python數據分析與挖掘實戰(第3版)
- INSTANT Apple iBooks How-to
- Expert Python Programming(Third Edition)
- 利用Python進行數據分析(原書第2版)
- 區塊鏈應用開發指南:業務場景剖析與實戰
- 數據分析方法及應用:基于SPSS和EXCEL環境