1.优化表的数据类型
通过使用 PROCEDURE ANALYSE() 对当前应用的表进行分析,该函数可以对数据表中列的数据类型提出优化建议。
select * from store procedure analyse();
select * from store procedure analyse(16,256);
第二个语句就是希望不要为哪些包含的值多于16个或者256个字节的ENUM类型提出建议
2.通过拆分提高表的访问效率
2.1 对于MYISAM表
2.1.1. 垂直拆分
既把主码和一些列放在一个表,然后把主码和另外的列放到另一个表中
优点:将不常用的列放到另一个表。较少I/O次数
缺点:需要管理冗余列,查询所有数据需要联合 JOIN操作
2.1.2 水平拆分
既把一行或多行的数据的值放到两个独立的表中
查询所有数据需要UNION操作
3. 逆规范化
4.使用中间表提高统计查询速度
将本表要统计的数据转移到另一个表结构和源表结构完全相同的表在进行处理
中间表可以灵活的添加索引或增加临时用的新字段,从而达到提高统计查询效率和服务统计查询作用