怎样让mysql中sql语句性能最优

怎样让mysql中sql语句性能最优,第1张

一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句

1,slow_query_log

这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。

2,long_query_time

当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。

3,slow_query_log_file

记录日志的文件名。

4,log_queries_not_using_indexes

这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。

二、检测mysql中sql语句的效率的方法

1、通过查询日志

(1)、Windows下开启MySQL慢查询

MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上

代码如下

log-slow-queries = F:/MySQL/log/mysqlslowquery。log

long_query_time = 2

(2)、Linux下启用MySQL慢查询

MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上

代码如下

log-slow-queries=/data/mysqldata/slowquery。log

long_query_time=2

首先程序产生一个随机数,然后大于这个值的取10条

SELECT * FROM  tablename WHERE id>xxx    LIMIT 10    

如果想分开的,那就多产生几个随机数x1 x2 x3 

SELECT * FROM  tablename WHERE id>x1    LIMIT 10 

SELECT * FROM  tablename WHERE id>x2    LIMIT 10    

SELECT * FROM  tablename WHERE id>x2    LIMIT 10    

然后得到的记录再选10条

如果有其他索引的话也可以随机一个大于或小于这个

select * from tablename where uid>x1 and id>xxx limit 10


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6141361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存