最近發現有時候看完一本書,時間久了容易忘記,看書不總結思考效果大打折扣,故打算寫這一系列文章,一是為了整理書中的要點,幫助自己消化理解;二是勉勵自己多看書思考。文章中不會把書中內容講解的非常詳細,只是總結概括,適合已經閱讀過該書的讀者。
基準測試是針對系統設計的一種壓力測試
測試指標
基準測試常見錯誤
基準測試工具主要為了定位使效能低的位置,主要方法使專注測量伺服器的時間花費在**
剖析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 連線表示式 連線型別 任意連線形式 內連線 左...