MySql性能测试

来源:互联网 发布:淘宝上最帅的男模特 编辑:程序博客网 时间:2024/06/06 13:23

MySql版本

MySql引擎

表结构

数据量(3000万条左右)

1、使用primary key进行查询

2、使用索引进行查询(注意数据类型,如果查询条件为account_no=26850则不会走索引查询)


在1、2中如果有order by字段,其生效于where删选数据之后,所以如果where筛选后的数据如果不是很大,则order by后面跟有索引字段和无索引字段无明显差别

3、不使用任何索引进行查询

这里写图片描述

4、查询总数



当数据量比较大时,可用explain来获得一个大致数据(查询条件中不能有无索引字段,否则会扫描全表)


5、分页查询


当offset较大时,查询速度会明显变慢

总结:
1、在建表时,不能有允许为null的字段,可以给每个字段加默认值
2、索引在建表时最好设计好,数据多了再加会比较耗时
3、单表索引最好不要超过5个,复合索引字段最好不要超过5个(过多的索引会带来额外的花销,导致插入和更新的效率变低)
4、在进行大数据表的查询时,where和order by等限制条件应加在索引字段
5、where条件中不要出现!=、not in、is null、is not null等运算条件,会导致查询丢失索引
6、在进行表连接操作时,需要注意大数据表的执行顺序,可通过explain来进行sql语句的调优
7、对于like模糊查询,可以使用全文索引来提升查询效率

在单表优化的基础上,可以通过分库和分表来进行优化,对于前端个性化的查询,可结合搜索引擎solr/el等

0 0
原创粉丝点击