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

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

阅读 3.4k
2 个回答

字段优化

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

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

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

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

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

添加索引

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题