优化方向
数据表数据类型优化
字段使用什么样的字段类型更合适
tinyint smallint bigint
考虑空间 范围
char varchar
enum 特定固定的分类可以使用enum存储 效率更快
ip地址存储 使用整型存储IP
字段使用什么样的字段类型性能更快
索引优化
索引创建原则
索引不是越多越好,在合适的字段上从创建合适的索引
符合索引的前缀原则 依次生效
like查询%的问题
全表扫描的优化
or 前有索引,后面没有索引,索引会失效
字符串类型索引失效的问题,查询字符串要加“”
SQL语句优化
- 优化查询过程中的数据访问
- 使用limit
- 不使用*
- 优化长难句
- 变复杂为简单
- 切分查询
- 分解关联查询
- 优化特定类型的查询语句
- 优化count()
- 优化关联查询
- 优化子查询
- 优化group by 和 distinct
- 优化limit和union
存储引擎的优化
InnoDB 支持事务,支持外键 支持
表结构设计优化
分区操作
- 通过特定的策略对数据表进行物理查封
- 对用户透明
- partition by
分库分表
- 水平拆分
- 垂直拆分
数据库服务器架构优化
- 主从复制
- 日志
- 读写分离
- 双主热备
- 负载均衡
- LVS
- MyCat