MySQL优化方案

插入数据

1.批量插入

1).尽量使用多个值表的INSERT语句,这种方式将大大缩减客户端与数据库之间的连接、关闭等消耗
insert into test values(1,2),(1,3),(1,4)…
2).当从一个文本文件装载一个表时,使用LOAD DATA INFILE,这通常比使用很多 INSERT语句快20倍

索引相关

1.mysql索引分类
主键索引:PRIMARY KEY
唯一索引:索引列的所有值都只能出现一次,即必须唯一
普通索引:最基本的索引类型,而且它没有唯一性之类的限制
全文索引:全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建

2.mysql查看表索引
show index from table_name;

3.sql中使用了聚合函数,唯一过滤字段name已建索引,并且聚合函数中字段是主键或该索引字段,虽然name是不等于表达式,仍然可以走索引(“覆盖索引”,不需要查表)
select sum(id)或sum(name) from t_address where name <> 'aaa';

4.对于含有OR的查询语句,如果要利用索引,则OR之间的每个条件列都必须用到索引,例如:
select * from table_name where col01='aa' or col02='bb';
字段col01和col02分别有单列索引时,现MySQL在处理含有OR字句的查询时,实际是对OR的各个字段分别查询后的结果进行了UNION
但如果col01和col02是放在一个联合索引中,则MySQL不会使用到该索引

 

posted on 2018-10-13 11:25  阿泰555  阅读(127)  评论(0编辑  收藏  举报

导航