[学习笔记]MySql之SQL语句优化

-慢查询
MySql查询超过指定时间的语句。我们将超过指定时间的SQL语句称为为‘慢查询’

--1.如何定位慢查询
SHOW VARIABLES LIKE 'long_query_time';--慢查询时间
--2.常见的数据库运行数据
SHOW STATUS LIKE 'uptime%';--mysql运行时间

SHOW STATUS LIKE 'com_select';--查询语句

SHOW STATUS LIKE 'connections';--连接数

--设置满查询时间
--3.启动慢查询
--修改my.inf文件中的
datadir =C:/ProgramData/MySQL/MySQL Server 5.6/data

mysqld.exe --safe-mode --slow-query-log --启动慢查询


--4.配置慢查询的日志
--my.ini
log-slow-queries={filePath}--慢查询日志路径,mysql mysql5.5.8
或者
slow-query-log-file=D:/mysqllog/slow.log--mysql5.5.20+
long-query-time=5--慢查询的时间
log-queries-not-using-indexes--如果查询语句没有用到索引也会记录日志

-索引
在关系数据库中,索引是一种与表有关的数据结构,相当与图书目录。可以提高查询效率

SHOW KEYS FROM {表名}--查看表的主键

SHOW INDEX FROM {表名}--查看表的索引
--1.唯一的索引
CREATE UNIQUE INDEX 索引名称 on 表名(列名)

EXPLAIN SELECT * FROM employees where first_name='jj'\G;--查看sql语句执行计划

--2.普通索引
CREATE INDEX 索引名称 on 表名(列名)

--3.全文索引支持engine=MyISAM

--4.sql语句分析
select @@have_profiling;
set profiling=1;
select * from employees;
show profiles ;
show profile for query_id=1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值