讀過的書,留下的跡 高效能MySQL(第3版)

2021-07-30 06:11:41 字數 1563 閱讀 4949

最近發現有時候看完一本書,時間久了容易忘記,看書不總結思考效果大打折扣,故打算寫這一系列文章,一是為了整理書中的要點,幫助自己消化理解;二是勉勵自己多看書思考。文章中不會把書中內容講解的非常詳細,只是總結概括,適合已經閱讀過該書的讀者。

基準測試是針對系統設計的一種壓力測試

測試指標

基準測試常見錯誤

基準測試工具主要為了定位使效能低的位置,主要方法使專注測量伺服器的時間花費在**

剖析mysql查詢

對查詢進行單獨的剖析

show status

慢查詢日誌

診斷間歇性問題

show processlist(主要檢視執行緒狀態)

一般推薦上述兩種方法,應為開銷很低,而且可以通過簡單的shell指令碼或者反覆執行的查詢來互動式的收集資料,觀察伺服器的情況

資料型別選擇原則

實數型別

字串型別

日期和時間型別

正規化和反正規化

正規化缺點

反正規化

索引型別

雜湊索引

innodb引擎有乙個特殊的功能叫做」自適應雜湊索引」。當innodb某些索引值被使用得非常頻繁時,它會在記憶體中基於b-tree索引之上再建立乙個雜湊索引

索引的優點

高效能索引策略

字首索引

多列索引

合適索引列順序

聚簇索引

缺點

索引掃瞄排序

維護索引和表

是否掃瞄額外的記錄,三個指標

重構查詢方式

查詢執行基礎

優化特定型別的查詢

優化關聯查詢

優化子查詢

優化limit

優化union

分割槽表什麼情況會出問題

在mysql內部儲存**

mysql允許通過觸發器、儲存過程、函式的形式儲存**

缺點

繫結變數

建立繫結變數sql時,客戶端向伺服器傳送了乙個sql語句原型,服務端收到這個sql語句框架後,解析並儲存這個sql語句,返回客戶端乙個sql語句處理控制代碼

缺點

全文索引

希望通過關鍵字的匹配來進行查詢過濾。全文索引可以支援各種字元內容的搜尋,也支援自然語言搜尋和布林搜尋。具體的,對資料表的某一條記錄,mysql會將需要索引的列全部拼接成乙個字串,然後進行索引。相比其他索引,當insert、update和delete操作進行時,全文索引的操作代價很大

優化:提供乙個好的停用詞表;忽略一些太短的單詞

查詢快取

很多資料庫產品,對於相同型別的sql可以跳過sql解析和執行計畫生成階段;mysql還有另外一種不同的快取,快取完整的select查詢結果,即跳過解析、優化和執行階段。

開啟查詢快取對讀寫操作帶來消耗

快取碎片、記憶體不足、資料修改都會造成快取失效

讀過的書,留下的跡 Unix網路程式設計

因這本書知道richard stevens這位神級大牛,感慨乙個人如何能寫了這麼多本被奉為聖經級別的it圖書,我們又有什麼理由不去讀這些書呢?1 套接字位址結構 2 位元組排序 位元組序轉換函式 h for host,n for network,s for short,l for long unit...

讀過的書,留下的跡 Java併發程式設計實戰

最近發現有時候看完一本書,時間久了容易忘記,看書不總結思考效果大打折扣,故打算寫這一系列文章,一是為了整理書中的要點,幫助自己消化理解 二是勉勵自己多看書思考。文章中不會把書中內容講解的非常詳細,只是總結概括,適合已經閱讀過該書的讀者。原子性 加鎖機制可見性 發布與逸出 執行緒封閉 不可變性 fin...

讀過的書,留下的跡 資料庫系統概念

最近發現有時候看完一本書,時間久了容易忘記,看書不總結思考效果大打折扣,故打算寫這一系列文章,一是為了整理書中的要點,幫助自己消化理解 二是勉勵自己多看書思考。文章中不會把書中內容講解的非常詳細,只是總結概括,適合已經閱讀過該書的讀者。1 基本型別 1 連線表示式 連線型別 任意連線形式 內連線 左...