Mysql優化,是什麼,如何優化(一)

2021-10-05 08:59:31 字數 1141 閱讀 9346

分享經驗

以前的技術活都是有個師傅一把手教導,現在技術活只能靠自己去學習。我作為程式設計師,要把握兩點,一是市場,二是實戰技術。市場作為導向,而實戰技術才是技術人員最大的財富。我經常會去看行業的招聘資訊。因為那裡可以看到市場需要技術人員的技術要達到什麼程度,懂得什麼技術。如果你懂了完全可以勝任,如果招聘資訊上,你看不懂的技術,正是你要需要彌補的知識。

mysql優化要從資料庫設計、查詢、索引、儲存、搜尋等方面優化考慮。

從設計上優化

1、遵從三正規化建立資料表,分清楚實體,實體之間的關係,什麼時候用外來鍵,分表。

2、表優化,遵循以下原則

從索引上優化

表中有兩個索引,但是mysql的where語句只能用上1個。

mysql查詢的where語句跟索引的順序有關。

左字首原則:以最左優先,按順序where,當向右匹配直到遇到範圍查詢(>、<、between、like)就停止匹配,比如索引index(a,b,c,d),a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引則都可以用到,a,b,d的順序可以任意調整。

理想的索引要求:查詢頻繁,長度小,區分度,盡量能覆蓋常用查詢字段

總結:列中的值,長度截的越短,重複度越高,區分度越低,索引效果越不好。長度截的越長,重複度越低,區分度越高,所用效果越好,但增刪查改變慢影響查詢速度。所以兩者要取得平衡。

從查詢上優化

explain +sql語句可以檢視sql語句的情況,按照優化思路來優化查詢語句,盡量用到索引就好。但是索引不是建的多就是好。打個比方一本書,目錄很多重複,那一本書目錄和內容佔了很大的空間,消耗了很多資源。

從儲存上優化

在mysql 建立儲存函式呼叫,不利於維護,建議不用,除非專門有個dber負責。

從搜尋上優化

1、查詢關鍵字,在字段查詢,只要在新增索引。

2、查詢關鍵字,在內容裡面查詢,需要將內容,用sphinx(第三方索引外掛程式)+mmseg(中文分詞器)=coreseek。

mysql如何優化,原理是什麼

select sql no cache from test where a 1 and b 2 and c 3 不使用快取查資料,是比較真實的。建立a,b,c聯合索引。a橋頭b橋中c橋尾 1.最左字首法則 如果建立的復合索引,索引的順序要安好建立是的順序,即從左到右。和b 樹的資料結構有關 ac a...

mysql怎麼優化 MYSQL如何優化?

mysql如何優化?結合你的經驗 1.資料庫的設計 盡量把資料庫設計的更小的佔磁碟空間.1 盡可能使用更小的整數型別.mediumint就比int更合適 2 盡可能的定義欄位為not null,除非這個字段需要null.3 如果沒有用到變長字段的話比如varchar,那就採用固定大小的紀錄格式比如c...

MySQL 如何優化

優化總結 列名描述 type 針對單錶的訪問方法,至少要達到range級別,杜絕出現all級別 key實際上使用的索引,如果沒有選擇索引,值是null ref當使用索引列等值查詢時,與索引列進行等值匹配的物件資訊 rows 預估的需要讀取的記錄條數 extra 額外的資訊 比如設計的聯合索引是 na...