SQL优化
一、全文索引解决模糊查询 fulltext
例: select * from 表名 where match(全文索引的字段名) against(‘索引内容’)
比like模糊查询快很多
(注:只支持英文,因为英文有空格,中文之间没有 ,或者用分词器给汉字分词)
二、记录慢查询日志的开启
1.打开慢查询日志
select variables like “%slow%”;
set log_slow_admin_statements=on;
2.设置慢查询标准
show variables like “%long%”;
set long_query-time=0.5;
注:可以用来找出是哪个sql语句的问题,会在慢查询日志显示,没事不要打开,会占用查询性能。
三、分析慢查询语句的方法profiling
打开性能.
1.show variables like “%profiling%”;
2.set profiling=on;
展示并查看sql语句的性能以及问题点.
3.show profiles;
4.show profile query ‘要查询的profilesID’;
注:1、没事不要打开,会占用查询性能。
2、还有一种简单的查看,explain sql语句。
四、数据库缓存的关闭
数据库缓存默认是打开的,在测试时会影响我们,所以在测试时可以关闭缓存。
1.show variables “%cache%”;
五、
1、给要查询的加索引,速度快,但是索引太多,耗费内存和空间,而且增删改会慢,所以要根据情况加索引。
2、不要select *,把要需要查的都查出来
3、不要给查询做运算
4.like查询,左模糊和全模糊是不走索引的,所以慢。
sql优化
最新推荐文章于 2020-02-04 09:54:10 发布