最近做个项目接近千万条数据,对数据的读取速度,要求比较高。对此作了一个简单的总结。
1.sql语句书写的我们应该注意,尽量少使用in、or、和虚拟表。
(也有高人说,尽量多使用临时表能够减少磁盘的I/O操作,这个还有待验证)
2.建立索引,通常我们会把,聚集索引建立在使用多,但出现少的字段上。(例如:时间)
3.建立组合索引,组合索引的创建之后,我们在查询条件上的条件书写顺序要,跟我们建索引的字段顺序一样。
4.使用具有包含列的索引。(引文:
当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显著提高查询性能。这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值;不访问表或聚集索引数据,从而减少磁盘 I/O 操作。
)
5.对数据,按类别进行分区。