在最近项目中用到了MYSQL数据库,同时为了加强自身的技能,查阅了许多资料,现整理如下:
首先优化从两个方面入手:(一)数据库服务器(包括配置优化)(二)SQL语句优化
(1)在使用LIKE模糊查询时候,避免使用%%,例如语句:
SELECT * FROM user WHERE name LIKE ‘%de%’;//原来语句
SELECT * FROM user WHERE name >='de' AND name <'df';//优化后语句
(2)计量不要在sql语句上进行运算
比如:SELECT * FROM WHERE YEAR(d) >=2014;
优化为:SELECT * FROM WHERE d>='2014-01-01';
(3)对于列出字段的说法,速度基本不会明显变化,主要为了节省内存
SELECT * FROM user;
(4)不要使用rand随机多条记录
(5)limit的使用与between
SELECT * FROM user ORDER BY id LIMIT 10000000,10;
优化为:
SELECT * FROM user WHERE id BETWEEN 10000000 AND 10000010;
(6)减少子查询的使用,再次不再啰嗦
(7)合理使用索引
(8)合理优化表结构,包括合理建表,字段大小等