最新消息:

简述 Mysql 优化技巧

Mysql 606浏览 0评论

数据表结构设计优化

字段使用什么样的类型更合适

字段使用什么样的类型性能更快

考虑空间的问题,考虑范围的问题:

tinyint   加无符号 0-255

smallint  上千

bigint    上千万 上亿

存储字符串长度是否固定:

char   手机号,md5 密码加密(长度确定的字符串)

varchar

enum

特定、固定的分类可以使用enum存储,效率更快

IP地址的存储

可以用整形来存,通过php函数 ip2long 进行转换

建立合适的索引:

– 索引创建原则:

不是越多越好,在合适的字段上创建合适的索引。

会影响写操作,提升读效率

复合索引的前缀原则

– 注意事项:

复合索引的前缀原则

like查询%的问题

全表扫描优化 会放弃使用索引。

or 条件索引使用情况。 or前列有索引,后列没索引,就用不到

字符串类型索引失效的问题。字符串存整形,不加引号,则失效

SQL语句的优化:

– 优化查询过程中的数据访问:

使用 limit 

返回列不用 *,直接使用列名

– 优化长难句的查询:

复杂简单化

切分查询

分解关联查询

– 优化特定类型的查询语句

优化count()

优化关联查询

优化子查询(使用关联查询替代子查询)

优化 group by和distinct

优化 limit 和 union

**服务器架构设计优化**

– 存储引擎优化:

使用InnoDb

– 分区操作:

通过特定的策略对数据表进行物理拆分

用户无感知,一张表下有多个分区,partition by

– 分库分表:

水平拆分:

垂直拆分:

转载请注明:微刻 blog.wecot.cn » 简述 Mysql 优化技巧

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 这部分尽快完善
    aPeng3年前 (2018-04-17)回复