乙個lamp架構的**,經常說這慢那慢的,其實從架構到**到資料庫,優化的空間是非常非常多的(架構設計參照我另外一篇文章),就看你是否願意花心思去一點一點兒的做起,比如mysql,在lamp**的架構優化中,往往是很多人最容易忽略的環節,卻往往成為優化空間最大的環節,一句不經意的sql語句,可能就會導致資料庫執行時間過長,進而導致鎖表時間過長,最後導致整站垮掉,讓另外99%的努力工作和優化都失去意義,所以,mysql的優化,需要細緻而有耐心的進行,一點一點兒的挖,從slow_query日誌開始,從my.cnf引數配置開始,從sql語句寫法開始,從表中的索引index開始。。。
即日起,不斷整理和mysql的運用技巧與優化的內容,下面先想到一些是一些。
【索引】
一般來說,如果選擇性超過 20% 那麼全表掃瞄比使用索引效能更優,oracle在選擇性超過25%時會選擇全表掃瞄。
組合索引比單一索引更有效,但是需要合理使用,清楚你在幹什麼,組合索引採用b樹型別,左字首的特性,建立組合索引的時候,要考慮到具體的使用場景和邏輯。
不是索引越多越好,過多索引容易導致更新和插入資料效率大大降低。
【sql】
經常用explain來檢查你的sql查詢語句,找出那些想當然卻事與願違的隱藏問題。
常常檢查slow query的日誌,針對性的深挖慢嚼,改善你的系統效能
【架構和配置】
主輔庫同步
memory 型別表
【新特性】
觸發器、儲存過程
外來鍵
【附錄】 有關explain引數的說明 explain列的解釋:
extra列返回的描述的意義
MySQL資料庫優化技巧
在5.5之後預設的儲存引擎是innodb 可以單獨進行修改也可以在建立表時修改 alter table tab name engine innodb 十六 小心永久鏈結 永久鏈結 的目的是用來減少重新建立mysql鏈結的次數。當乙個鏈結被建立了,它會永遠處在連線的狀態,就算是資料庫操作已經結束了。而...
資料庫查詢優化技巧 MySQL
在資料庫程式的開發中,效能是最讓人關心和擔心的問題之一,而影響到其效能的乙個關鍵因素就是查詢效率,往往查詢效率的瓶頸都集中在大量耗時的sql語句上。以下就將列舉一些mysql中行之有效的查詢優化手法和準則 1.只要能滿足你的需求,應盡可能使用更小的資料型別 例如使用mediumint代替int。2....
MySQL資料庫優化技巧大全
mysql優化三大方向 優化mysql所在伺服器核心 此優化一般由運維人員完成 對mysql配置引數進行優化 my.cnf 此優化需要進行壓力測試來進行引數調整。對sql語句以及表優化。mysql引數優化 1 mysql 預設的最大連線數為 100,可以在 mysql 客戶端使用以下命令檢視 mys...