代码拉取完成,页面将自动刷新
数据库调优
开启慢查询日志主要 ,修改记录查询的时间不能立即生效,需要切换新的mysql查询窗口。
记录未使用索引的SQL语句
SET GLOBAL log_queries_not_using_indexes='ON'
查看慢查询日志
SELECT * FROM mysql.slow_log;
sql性能分析 更加细致分析sql
1、show profile 目前已被废弃,但是还可以用
2、INFORMATION_SCHEMA.PROFILING (目前已废弃)
3、preformace_schema (mysql推荐)
最左优先原则
使用了hash索引就不能使用相关的排序语句,否则会导致hash索引无法使用,hash索引不支持部分索引的查找,hash索引只支持等值查找,不支持范围,模糊查询,hash冲突越严重,性能下降越厉害。
建议创建索引的情况(6)
1.对于select语句,频繁作为where条件的筛选字段
2.update或delete语句的where条件
3.需要分组或排序的字段
4.distinct所使用的字段
5.字段的值有唯一性约束,例如主键
6.对于多表查询,连接字段应创建索引,且类型需要保持一致
不建议创建索引的情况
1.表记录非常少
2.字段有大量重复数据,选择性低,例如性别字段
3.修改频繁查询较少的字段
解决方案 1、不要在where条件中计算
2、不要在where使用函数
3、尽量避免左模糊,无法避免,考虑搜索引擎
4、额外添加索引
5、规范编写sql,varchar索引传入数字无法用
6、修改联合索引顺序
7、使用is null 无法使用索引,建议索引字段添加not null 约束
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。