1、在mysql环境,创建数据库表。
2、插入测试数据。
3、编写目标sql。mysql中,查询纵向转横向可用casewhen语句。
这么大的表优化是很痛苦的,看你对数据的用途,如果不经常查询、而是频繁的增加,可以考虑定期(每周或者每日)把表中的数据复制到历史表中,清空工作表的数据,这样插入的效率能大大提高,但是查询的时候需要在两个表中进行查询。用于频繁插入数据的工作表要尽量少建索引,用于查询的历史表要多建索引。横向分表:例如将创建时间在05年之前的数据放在一个分区上,将05年到08年之间的数据放到另一个分区上,以此类推。到底要根据那个列进行横向的分区和查询有关系,在建表的时候需要分析,会根据那个列进行查询。
思路这样,具体事情具体分析。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)