博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql sql优化
阅读量:4469 次
发布时间:2019-06-08

本文共 597 字,大约阅读时间需要 1 分钟。

记录一些经验,主要是结论。建检索等就不写了,地球人都知道。

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

详解参见 

 

转载于:https://www.cnblogs.com/oceanking/p/6952405.html

你可能感兴趣的文章
Jquery:怎样让子窗体的div显示在父窗体之上
查看>>
01概率
查看>>
Shell脚本
查看>>
MatLab Load cv::Mat 导入数据
查看>>
html+css相关笔记(一)
查看>>
基于块流协议保证音频优先发送
查看>>
关于互联网的一些数据
查看>>
数据预处理:独热编码(One-Hot Encoding)
查看>>
python将对象名的字符串类型,转化为相应对象的操作方法
查看>>
【NLP新闻-2013.06.03】New Book Where Humans Meet Machines
查看>>
mongodb安装4.0(rpm)
查看>>
DispatcherServlet的url mapping为“/”时,对根路径访问的处理
查看>>
备忘pwnable.kr 之passcode
查看>>
好久没敲代码了,手有点生——一个小小的时钟
查看>>
运算符 AS和IS 的区别
查看>>
(转)详解C中volatile关键字
查看>>
easyui时的时间格式yyyy-MM-dd与yyyy-MM-ddd HH:mm:ss
查看>>
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>