1.創建索引併發
(1)合理的索引可以加速數據讀取效率,不合理的索引反而會拖慢響應速度;函數
(2)索引越多,更新數據的速度越慢高併發
(3)儘可能在MyIsam做爲引擎的時候使用索引性能
(4)可在條件語句上創建索引,where,order by優化
2.大量數據查詢時存儲引擎使用MyISAM索引
MyISAM與InnoDB的區別事務
MyISAM:高性能讀取,適合大量數據查詢;適合作不少count的計算;表級鎖,開銷小;不支持事務;不支持外鍵內存
InnoDB:適用於高併發的頻繁修改表;支持事務;行級鎖,消耗大;不適合建索引;支持外鍵效率
3.SQL優化select
(1)減小查詢字段,避免select * ,須要什麼字段查詢什麼字段;
(2)一次性對同一個表插入多條數據,能夠拼接,效率更高 insert into persona(name,age) values ('aa','12'),('dd','22'),('ww','32');
4.合理的字段類型
(1)避免使用NULL類型,應使用NOT NULL或者特殊字符(0,1)做爲默認值
(2)儘量使用更小的字段,MySQL從磁盤讀取數據後會存儲到內存中,數據類型越小佔用的空間越小
(3)優先使用定長型
5.避免在索引字段上進行運算
儘可能避免在WHERE子句中對字段進行函數或表達式操做,如:select * from T1 where F1/2 = 100 應該爲 select * from T1 where F1 = 100*2
6.儘可能使用數字型字段
7.可以使用between就不要用in
8.可以使用distinct就不要用group by