现在表中是两千万+的数据

千万级数据表查询优化

 

不做优化直接查询,可以看到耗时21秒,嗯。。。这么老半年,电脑都得砸掉了。

当然了在这个查询的时候我这个字段是没有索引的,因为这个表的索引要给时间字段。

千万级数据表查询优化

下面是优化过后的查询,可以看到,这个效率已经有很好的提升了。

千万级数据表查询优化

原来的表结构中有四到五个索引,可以明显发现,里面有的索引已经失效。考虑到这个数据库的结构,我们去除了这个表中的多数索引,仅保留主键和时间字段的索引。其他字段的索引都可以间接通过主键来操作。在这里我们借用辅助表,辅助表中只有连个字段。(ID,索引字段)。如上图Scale_Small 的表字段只有Scale表中的(ID,SmallCode);其中,ID为主键,SmallCode

设置一个索引;在做查询的时候,通过Scale_Small表获取到,Scale表的id,通过聚集索引去做查询,这个效率懂的都懂。

当然了,这样做也是有代价的,我们的辅助表需要跟随主表数据做出变动。这里我们就需要用到触发器。

 

 

 

相关文章: