Mysql数据库优化(一)
来源:互联网 发布:淘宝上买东西分期还 编辑:程序博客网 时间:2024/06/05 06:27
数据库优化的目的:
- 由于数据连接timeout产生页面5xx错误
- 由于慢查询造成页面无法加载
- 由于阻塞造成数据无法提交
一、sql语句优化
慢查询日志:
1)查看mysql是否开启慢查询日志
show variables like 'slow_query_log';
2)设置没有索引的记录到慢查询日志
set global log_queries_not_using_indexes=on;
3)查看超过多长时间的sql进行记录到慢查询日志
show variables like 'long_query_time';
4)开启慢查询日志
set global slow_query_log=on;
使用pt-query-digest工具来分析慢查询
举例:
1.max()聚集函数的优化:在该字段上加上索引
2.count(year=2006 or null):解释:
因为 当 release_year不是 2006时 ,release_year=’2006’ 结果false 不是 NULL,
Count在 值是NULL是 不统计数, 至于加上or NULL , 很像其他编程里的or运算符,第一个表达式是true就是不执行or后面的表达式,第一个表达式是false 执行or后面的表达式 。当release_year不为2006时release_year = ‘2006’ or NULL 的结果是NULL,Count才不会统计上这条记录数
3.子查询优化
通常情况下,子查询优化为join查询,但在优化时要注意关联键是否有一对多的关系(可能会产生重复数据)—->使用distinct关键字去重
二、索引优化
合适的列上创建索引:
1.在where从句中,group by从句,order by从句,on从句中出现的列
2.索引字段越小越好
3.离散度大的字段放到联合索引的前面(唯一值越多,离散程度越好)
阅读全文
0 0
- mysql数据库优化(一)
- Mysql数据库优化(一)
- MySQL数据库优化(一)
- mysql 数据库优化 一
- MySQL数据库优化(一)
- 数据库mysql 优化一
- Mysql数据库优化系列(一)------Mysql服务器优化思路
- Mysql数据库优化系列(一)------Mysql服务器优化思路
- MySQL 数据库性能优化之(一)缓存参数优化
- MySql数据库优化笔记(一)
- MySQL数据库结构优化(一)
- mysql 优化系列(一) Mysql数据库引擎性能测试
- MySQL数据库优化(一)——MySQL引擎
- 数据库优化之MySQL优化(一)
- Mysql数据库优化---2.慢查询(一)
- (一)一个问题引入:mysql数据库优化
- 【Day22】mysql数据库的优化(一版)
- Mysql数据库调优和性能优化(一)
- 语法:C语言中printf函数的返回值
- python3增删改查
- 第一章 走进Excel VBA的世界
- 排序算法--时间复杂度(平均时间,最坏情况)、空间复杂度
- redis缓存(集群)
- Mysql数据库优化(一)
- 计算来到地球上多少天?
- 史上最全的maven pom.xml文件教程详解
- JavaScript知识点整理(2)
- 三种常见web攻击方式,xss、csrf和clickJacking
- HDOJ1083 匈牙利算法模板题
- 安装net.framework失败的4种解决方法,还在心烦的你确定不看看?
- 9.2NOIP模拟赛
- 【LeetCode】653. Two Sum IV