mysql优化的常用方法有哪些??


不适用memcahe和redis这些?单从表和字段的设计,包括怎么提高查询速度呢???


设置开启慢查询日志,用explain分析sql语句,explain extended分析show warnings查看mysql优化器内部改写的sql语句等等,高性能mysql这本书上有介绍,可以看看


字段优化

  • VARCHAR 长度不要分配太多, 够用就好

  • 尽量使用 TINYINTSMALLINTMEDIUM_INT 作为整数类型而非 INT

  • 使用枚举或整数代替字符串类型

  • 尽量不要使用 NULL 字段, 因为可能会导致索引失效

  • 尽量使用 TIMESTAMP而非 DATETIME, 因为 TIMESTAMP 只占用4字节, 而 DATETIME 占用8字节.

添加索引

  • 对频繁查询的字段添加索引.

  • 不要在 WHERE 中对字段进行 NULL 值判断, 否则将导致引擎放弃使用索引而进行全表扫描

  • 建立索引的字段需要有尽可能大的区分度. 像 性别 这样的字段, 只有两个值的, 就不要建索引了.

  • 注意最左前缀匹配原则.



相关阅读:
html接收res.render数据
JavaScript要是不用 <script src="***.js"> ,只用 js 自身,能导入 别的js 文件吗?
请问seajs怎样引进非CMD的框架?
centos7.2安装php7.1后配置listen的问题
有哪些预测算法可以根据实时增量数据更新算法并预测后续数据?
蚂蚁金服的calendar组件怎么赋值
对于“Javascript天生异步“这句话不太理解
请问datagrip怎么创建数据库?
spring BeanFactory getbean方法是怎么搜索出对应的类的
antdesign的menu如何点击标签显示对应的内容呢
echarts插件 :嵌套环形图 怎么把值传入。代码如下。
介绍一个开源的带商品购买的CMS系统
关于比较运算符==
ckplayer连续播放的时候会卡在第一针
为什么不让浏览器能够直接跑PHP?而只有Javascript
springMVC或spring的异常信息,怎么返回给当前页面?
electron autoUpdater 签名
docker exec 报错,怎么回事?
一个父div下有两个子div和两个子input,如图1,如何使他们对齐成图2的样子?
session_save_path()方法的返回值怎么是“0"呢



快速导航

Copyright © 2016 phpStudy |