平常都使用Oracle数据库,也有用到MySQL数据库,感觉MySQL数据库简单灵活且响应速度快,没想到MYSQL数据库表数据超过百万时查询响应速度明显下降。最近因为项目一部分用到MySQL数据库,数据逼近千万级,统计和查询速度奇慢,需要进行调优。于是开始准备调优工作,第一步先统计下表中有多少数据,统计了下大概9百多万,每次第一次统计时执行SQL到最终显示统计结果都用两三分钟才出来以后连续执行的话速度都极快,接下来看下表结构,一个主键和其他字段,没有外键。主键默认是自动建B-Tree索引的,看下数据结构居然为varchar(128),咋不用char呢,大体浏览了下数据,MyGOD
主键中居然有中文。
靠主键的索引来迅速提高查询统计速度的想法首先被排除了。