1.优化表的设计
1.1 优化表的数据类型
select * from actor procedure analyse();
1.2 通过拆分表,提高表的访问效率。
垂直拆分和水平拆分
垂直拆分: 把主键和一些列放到一个表上,然后把主键和另外的列放到另外一个表上。
水平拆分: 根据一列或者多列数据的值,把数据行放到独立的表或者分区中。
表很大时,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。
表中的数据有独立性,例如,表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用而有些数据不常用。
需要把数据存放到多个介质上。
1.3 逆规范化:降低连接操作的需求,降低外码和索引的数目,减少表的数目。
增加冗余列,增加派生列,重新组表,分割表。
2. 数据库应用优化
2.1 使用连接池
2.2 减少对MySQL的访问
避免对同一数据做重复检索,增加cache层,减轻数据库的负担,把访问频度高的数放到应用端建立二级库,然后设定一个机制与主数据库进行同步。
负载均衡,利用MySQL复制分流查询操作,采用分布式数据库架构,