-慢查询
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;