Mysql必读mysql数据库sql优化原则
《Mysql必读mysql数据库sql优化原则》要点: 一、mysql优化前提 二、原则总结 原则2、尽量避免在列上做运算,这样导致索引失效. 优化为:MYSQL数据库 select * from admin where admin_time> '2014-01-01′原则3、使用join 时候,应该用小的结果驱动大的结果(left join 左边表结果尽量小 如果有条件应该放到左边先处理,right join 同理反向),同事尽量把牵涉到多表联合的查询拆分多个query(多个连表查询效率低,容易到之后锁表和阻塞). 优化为:MYSQL数据库 select * from (select * from admin where admin_id>10) t1 lef join log on t1.admin_id = log.admin_id原则 4、注意like 模糊查询的使用,避免使用 %%,可以使用 后面带%,双%是不走索引的. 优化为:MYSQL数据库 select * from admin where admin_name >='de' and admin_nam <'df' (注意不是等效的这里试试提供优化的思路)原则5、使用批量插入节省交互 (当如如果使用存储过程来处理批量的sql 各种逻辑是更好的选择). insert into admin(admin_name,admin_password) values (‘test2′,'pass2′); insert into admin(admin_name,admin_password) values (‘test3′,'pass3′)? 优化为:MYSQL数据库 insert into admin(admin_name,admin_password) values(‘test1′,'pass1′),(‘test2′,'pass2′),(‘test3′,'pass3′)?原则6、limit 的基数比较大时使用between. 优化为:?MYSQL数据库 select * from admin where admin_id between 100000 admin 100010 order by admin_id原则7、不要使用rand函数获取多条随机记录. 优化为:MYSQL数据库 select * from admin as t1 join(select round(rand()*((select max(admin_id) from admin)-(select min(id) from admin))+(select min(id) from admin)) as id) as t2 where t1.id>=t2.id order by t1.id limit原则8、避免使用null. set @@profiling = 1; show profile for queryMYSQL数据库 编程之家PHP培训学院每天发布《Mysql必读mysql数据库sql优化原则》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |