文章详情页
mysql优化的常用方法有哪些??
浏览:125日期:2022-06-17 09:57:37
问题描述
不适用memcahe和redis这些?单从表和字段的设计,包括怎么提高查询速度呢???
问题解答
回答1:字段优化VARCHAR 长度不要分配太多, 够用就好
尽量使用 TINYINT、SMALLINT、MEDIUM_INT 作为整数类型而非 INT
使用枚举或整数代替字符串类型
尽量不要使用 NULL 字段, 因为可能会导致索引失效
尽量使用 TIMESTAMP而非 DATETIME, 因为 TIMESTAMP 只占用4字节, 而 DATETIME 占用8字节.
添加索引对频繁查询的字段添加索引.
不要在 WHERE 中对字段进行 NULL 值判断, 否则将导致引擎放弃使用索引而进行全表扫描
建立索引的字段需要有尽可能大的区分度. 像 性别 这样的字段, 只有两个值的, 就不要建索引了.
注意最左前缀匹配原则.
回答2:设置开启慢查询日志,用explain分析sql语句,explain extended分析show warnings查看mysql优化器内部改写的sql语句等等,高性能mysql这本书上有介绍,可以看看
相关文章:
1. javascript - 在页面最顶部插个广告,怎么做才能不破坏页面布局(不影响下面的内容)?2. 编写CSS3样式时,不同的浏览器可能需要不同的前缀。 前缀怎么加?加在什么地方,何时加?3. vue页面跳转实现页面缓存操作4. vue.js - linux下怎么使用vue-cli的vue命令5. 什么是前后端分离?用vue angular等js框架就能实现前后分离了吗?6. android - Genymotion 微信闪退 not find plugin.location_google.GoogleProxyUI7. javascript - onfocus="this.type=’password’",为什么不直接用type=’password’8. android 小米手机用第三方登陆qq,授权之后请求参数不规范?9. vuejs组件内的props的属性赋值问题?10. html - 为什么BeautifulSoup find_all 返回的list都不是按照网页显示顺序排序的?
排行榜
