mysql优化
来源:互联网 发布:图像算法工程师 知乎 编辑:程序博客网 时间:2024/06/06 16:37
1.所有表都使用innodb引擎
2.所有表都要设计自增主键
3.性别,是否等枚举类型使用ENUM/TINYTINT,而非char/varchar
4. 所有字段都显示的定义:NOT NULL
5.字符串字段尽可能不分配过长的长度,如usernam,设计为varchar(30)而不是varchr(255),char(30)
6.杜绝使用TEXT/BLOB数据类型
7. 常用的排序(ORDER BY),分组(GROUP BY),取唯一(DISTINCT)字段加上索引
8.字符串列需要索引时,创建前缀索引。如INDEX(name(10), address(20))
9.索引数量不要太多
10.多使用联合索引,少使用单独索引
无法使用索引情况:
1.通过索引扫描的记录数超过30%,变成全表扫描
2. 联合索引中,第一个索引列使用范围查询(WHERE key_part1 > ? AND key_part2 > ?)
3. 联合索引中,第一个查询条件不是最左索引列
4.模糊查询条件列最左以通配符%开始
5.内存表(HEAP)使用HASP索引时,使用范围索引或者ORDER BY
6.两个独立索引,其中一个用于检索,一个用于排序
7. 表关联字段类型不一样(也包括长度不一样)
8. 索引字段条件上使用函数
现阶段使用的数据库版本为mysql官方版本(不支持线程池)
mysql分支版本percona,支持线程池,能有效应对突然大量访问数据库。比如:凌晨12点的一些活动。建议今后创建数据库是选择percona版本,Ucloud支持
0 0
- 优化Mysql
- mysql优化
- mysql优化
- mysql优化
- MySQL 优化
- MySQL优化
- mysql 优化
- mysql 优化
- Mysql优化
- 优化Mysql
- 优化Mysql
- 优化MYSQL
- mysql 优化
- mysql 优化
- mysql优化
- mysql优化
- MySql优化
- MySQL优化
- github push 出现connection refused 的处理办法
- crontab实用手册
- 信息节点的自定义配置实验
- Gson简要使用笔记
- 引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测试通过)
- mysql优化
- Shell 显示带颜色字体
- 谈谈ANDROID反编译和防止反编译的方法(转)
- 项目六:穷举法解决组合问题(5)委派任务
- 油价暴跌对产油国的影响
- iPhone数据持久化
- PHP中使用cURL实现Get和Post请求的方法
- HDU 2795 BillBoard 线段树
- xml学习一