MySQL有哪些实践优化技巧?


MySQL应该是现在使用得最广泛的关系型数据库,大家在使用过程中都有哪些相关的优化心得和经验呢?大家可以开放性的回答,我会在此整理聚合大家的答案。

讨论 mysql 性能

VMware 12 years, 1 month ago

程序应用优化方面
- 数据查询:编写简洁高效的SQL语句
- 对数据表建立合适有效的数据库索引
- 设计合理的数据表结构:适当的数据冗余

表结构的设计原则
- 选择合适的数据类型:如果能够定长尽量定长,比如(char总是比varchar快)
- 使用更小的整数类型:mediumint就比int更合适
- 不要使用无法加索引的数据类型作为关键字段,比如text类型
- 最好给每个字段设置default值
- 选择合适的表引擎,MyISAM/InnoDB
- 为了避免联表查询,有时可以适当的数据冗余,比如姓名、邮箱这些不经常改动的数据
- 保证查询性能,最好每个表都建立auto_increment字段,建立合适的数据库索引;表的主索引应该尽可能的短,这样的话每条纪录都有名字标志且更高效
- 将字段尽可能的定义为not null,除非这个字段必须为null
- 不会用到外键约束的地方尽量不要使用外键

撸腿毛 answered 12 years, 1 month ago

Your Answer