首页 > 代码库 > mysql sql优化
mysql sql优化
记录一些经验,主要是结论。建检索等就不写了,地球人都知道。
1. 对比2个join
select * from (select * from A where age > 10) inner join (select * from B where grade > 3) tb on A.b_id = tb.id;select * from (select * from A where age > 10) inner join B on A.b_id = B.id and B.grade > 3;
当B的id字段为主键或索引时,如果数据量达到千万级时,第二条比第一条sql可能快上10倍以上,因为第一个sql里tb没有索引。
2. jdbc连接mysql插入数据,使用批量插入可提升8倍以上性能。有两个点需要关注:
(1)数据库连接需要加上“rewriteBatchedStatements=true”,否则jdbc不会真正使用批量插入。
(2)如果mysql有主从,注意每次批量插入的数量不要太多,防止失败。
3. 观察mysql执行的sql
用tail -f查看即可,sql执行日志文件路径在my.cnf文件中general_log_file定义。
4. 使用explain
详解参见 http://database.51cto.com/art/200912/168453.htm
mysql sql优化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。