總結 MySQL使用優化

2022-03-04 05:57:26 字數 667 閱讀 8482

一、表設計

1、避免使用null  占用額外空間、索引無效、檢索麻煩

2、能用int 不用varchaer,能用varchaer 不用text

3、int 最好給預設值 0 、varchar emptystring 

4、不使用外來鍵(程式約束)、使用自增列

5、字段規範名稱統一

二、sql查詢

1、使用統一大寫或者小寫,mysql預設大小寫敏感

2、不使用觸發器,程式實現

3、不使用 *、 or、!=、<>

4、不使用count(*)

查詢單條資料加 limit 1提高效能,查到資料會終止執行

5、搜尋條件字段建立聯合索引(索引名稱:表_欄位_欄位_欄位)

檢視索引

show index from products

簡單索引

create index products_productid on products (productid);

多重索引

reate index products_productname_sku on mytable (productname,sku);

測試索引 (explain)

刪除索引

drop index products_productname_sku on products

mysql優化總結

如果大家有異議,可以在後面補充。我會隨時更新的。現在大概列出如下 望各位補充 1.資料庫的設計 盡量把資料庫設計的更小的佔磁碟空間.1 盡可能使用更小的整數型別.mediumint就比int更合適 2 盡可能的定義欄位為not null,除非這個字段需要null.這個規則只適合欄位為key的情形 3...

mysql優化總結

1 資料庫設計 滿足三大正規化 第一正規化 列的原子性 第二正規化 確保表中的每列都和主鍵相關,乙個表只能儲存一類資料,不能放多類的資料,第三正規化 確保同一行資料不存在傳遞關係 2 資料庫建表 1 儲存引擎選擇 需要支援事務 外來鍵 更新和查詢都很頻繁的使用innodb,如果要使用全文索引 資料更...

mySQL優化總結

mysql通過explain命令輸出執行計畫,對要執行的查詢在這裡插入描述進行分析。執行計畫的限制 無法展示儲存過程,觸發器,udf 自定義函式 對查詢的影響 無法使用explain對儲存過程進行分析 早期版本的mysql只支援對select語句進行分析,如果想要分析update,insert語句需...