MySQL-MySQL有哪些实践优化技巧?

MySQL-MySQL有哪些实践优化技巧?

归属感 发布于 2017-05-18 字数 148 浏览 1137 回复 6

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

想挽留 2017-11-07 6 楼

1.尽量避免用联合查询,联合多表的写多个sql分开查询
2.当text字段类型占表的数据比例非常大时,可以把text类型的字段单独建立一个表,与另一表关联,这样数据加载会快
3.用explain检查索引的执行情况
4.mysql查询缓存尽量设置的大些
5.数据量大和负载高时,避免在sql语句中用mysql函数
6.能用整型类型尽量用整型
7.分库分表

晚风撩人 2017-09-08 5 楼

以下是我平时在用DB中的小小心得:
1.建索引虽可优化查询速度,但不是所有的情况,有时会降低查询速度。因为字段若有索引,会先从索引中取查找。
2.对经常使用的SQL语句建立存储过程加快查询速度。
3.若在表中某一字段数据长度非常大,且会在其它行中重复,建立一张表存储这些数据,并关联过去。
4.若SQL语句中,使用很多嵌套查询"IN",会减慢语句执行速度。
5.连接上数据库后,应设法以最短的时间关闭数据库连接,提高并发性。
6.在DB中启用了SQL查询优化功能时,应该考虑优化语句的代价是否大于等于SQL查询的代价。
7.出于对整合前端显示安全性考虑,写入和查询数据时应该过滤XSS(js恶意脚本)。

偏爱自由 2017-09-07 4 楼

上周看了一篇《MySQL数据库开发的三十六条军规》,总结的非常到位而且实用,推荐给你

浮生未歇 2017-08-26 3 楼

可以把mysql慢查询日志打出来自己看下哪些sql执行比较费时

浮生未歇 2017-07-09 2 楼

高性能Mysql这本书`有你要的答案

瑾兮 2017-06-04 1 楼

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

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