第一次發文章,簡單整理一下,順便理一理思路~1、在建立表結構時選擇合適的字段型別;謹慎使用blog,text;
2、在使用blog,text,或者資料結構過大時不常用的字段進行分表儲存;
3、當表中資料量過大時可以進行表的拆分(分表),橫向、縱向;
4、可以進行資料庫的主->從配置(讀、寫分離,提高效能)
5、在查詢方面可以建立索引,在建立索引時需要注意:字段更新的次數不頻繁,欄位不為null值設定,設定索引的列值大多不重複防止為性別,郵箱等類似資料;
6、在查詢時拼接條件時考慮有索引欄位的順序,盡可能的把能排除85%以上的條件的字段放在最前面:
7、在索引查詢時只能進行順序配置,不支援逆向匹配;如索引(a,b) a可以走索引,(b、a、c)只能b=?&a=?時可支援走索引
8、使用like查詢時,like『%a%』不走索引; like 'a%'走索引
9、多使用連線查詢代替子查詢,巢狀查詢,慎用in查詢;
10、非數值行欄位記錄在分組後進行合併時,可以使用group_concat(欄位名稱),可以對非數值型字段進行連線(在批量完善資料時可用到);
11、在進行查詢時where 語句中 "="左側避免進行內部函式的操作,盡可能的把"="右側的值轉換成資料庫中的字段型別進行處理;
12、為大家提供乙個關鍵字(explain)可以檢視查詢語句的效能問題(檢索範圍、是否走索引,使用時間……)
13、修改資料庫的配置(設定緩衝區大小、表快取等)
14、資料庫引擎myisam、innodb
myisam:檢索速度較快、表鎖定、更新資料時較慢;
innodb:檢索速度一般、行鎖定、更新效率較好,支援事務;
15、使用in 、exists 時注意事項:
in適合使用小表(資料量小);exists:適用大資料; in不排除null值;
16、關於資料庫資料恢復的補充(mysql提供乙個 log.bin的日誌記錄-》包含所有的語句執行,確保此
服務是開啟的,以備不測)
先記下這些,後期再補充~
mysql 優化整理
1.count 1 和count primary key 優於 count 很多人為了統計記錄條數,就使用 count 1 和 count primary key 而不是 count 他們認為這樣效能更好,其實這是乙個誤區。對於有些場景,這樣做可能性能會更差,應為資料庫對 count 計數操作做了一...
MySql的優化方案整理
mysql 中的索引官方定義是幫助 mysql 高效的獲取資料的資料結構。樹結構型別,類似於圖書的數目索引,可以提高資料檢索的效率,降低資料庫的 io成本 聚集索引的意思可以理解為順序排列,比如乙個主鍵自增的錶即為聚集索引。乙個表只能包含乙個聚集索引。唯一索引 如果該欄位資訊保證不會重複例如身份證號...
mysql優化整理01
mysql資料庫的優化技術 對mysql的優化是乙個綜合型的技術,主要包括 a.表的設計合理化 符合3nf b.新增適當索引 普通索引,逐漸索引,唯一索引,全文索引 c.分表技術 水平分割,垂直分離 d.讀寫分離 e.儲存過程 模組化程式設計,可以提高速度 但移植性不好 f.對mysql配置優化 m...