龙空技术网

MySQL查询优化

lomon.zhang 137

前言:

目前朋友们对“mysql数据库查询优化的技巧”大约比较讲究,姐妹们都想要了解一些“mysql数据库查询优化的技巧”的相关内容。那么小编在网上汇集了一些有关“mysql数据库查询优化的技巧””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

使用索引:

通过慢查询日志找出效率差的SQL, 再进一步判断索引是否高效;

MySQL的查询优化程序:

analyze table score;

explain select * from score where false\G;

为提高查询效率而挑战数据类型

尽量使用数值操作;

“小”类型够用,就不要选用“大”类型;

MyISAM中,尽量使用固定长度数据列,减少存储碎片的发生;

对于Memory,InnoDB引擎,固定长度还是可变长度,不影响性能;

数据列尽量声明成:NOT NULL;

如果字符串数据列的不同取值的个数是有限的,就应该把它转换为ENUM数据列;

select * from score procedure analyse();

消除碎片:

1) MyISAM表消除碎片: optimize table president;

2) 导出&导入, 适用所有存储引擎

mysqldump sampdb president > dump.sql;

mysql sampdb < dump.sql

有效加载数据

批量加载数据比单行数据加载效率高;

无索引表比有索引表, 更快;

SQL语句短比SQL语句长, 更快;

加载效率比较: load data > load data local > insert into …

如果只能使用insert, 则推荐使用单语句多行插入;

标签: #mysql数据库查询优化的技巧