读一读

select @@have_profiling;#查看是否支持查询的分析。
set profiling =1;#开启
show profiles;#查看所有的查询语录
show profile for query id号;#查看具体的查询消耗

explain select ... from 表名

通过在查询语句前面加上关键词explain

会出现一个Extra字段,描述为Using Index或Using Where。

rows表示查询时扫描的数据量


.frm 描述表的结构

.MYD 数据文件

.MYI 索引文件


在做数据库迁移的时候,不需要拷贝.MYI的索引文件,因为到了其他数据库也会失效


show table status;查看数据库所有表的情况

show table status like "%表名%";查看具体的表

可以看到表用的引擎,数据条数,数据大小,创建时间等等


当进行这些操作的时候会对表进行锁定

一般在不繁忙的时候做这些操作


optimize table 表名;

QQ图片20170925155028.png


check table 表的名字

检查表是否有错误,存不存在

检查视图是否有错误,例如视图引用的表是否存在


analyze table 表名;

QQ图片20170925153959.png

Table is already up to date表示正常


mysql5.6以下版本只有myISam存储引擎支持

5.6版本后,innodb也支持全文索引

create fulltext index 全文索引名 on 表名(字段....) //创建

使用全文索引的格式: WHERE MATCH (columnName) AGAINST ('string')


在my.ini配置文件中的加上这3条,再重启

[mysqld]

slow_query_log=on
slow_query_log_file=d:/wamp/logs/mysql_slow_query.log
long_query_time=0.5

QQ图片20170925113045.png