性能优化-数据库层优化
数据表数据类型的优化
- tinyint,smallint,bigint按需选择数据类型
- 使用整形存储IP地址
索引优化
建立合适的索引
- 索引并不是越多越好,在合适的自段上创建合适的索引
- 复合索引的前缀原则
- like查询%的问题
- 全表扫描优化
- or条件索引适用情况
- 字符串类型索引失效问题
SQl语句的优化
优化查询过程数据访问
- 使用Limit
- 返回列不使用*
优化长难句查询语句
- 复杂变为简单
- 切分查询
- 分解关联查询
优化特定类型查询语句
- 优化count()
- 优化关联查询
- 优化子查询
- 优化limit和union
存储引擎的优化
- 尽量实用InnoDB
数据表结构设计的优化
分区操作
- 通过特定的策略对数据表进行物理拆分
- 对用户透明
- partition by
分库分表
- 水平拆分
- 垂直拆分
数据库服务器架构的优化
- 主从复制
- 读写分离
- 双主热备
负载均衡
- 通过LVS三种基本模式实现负载均衡
- 使用MyCat数据库中间件实现负载均衡