您的位置:首页 > 数据库 > MySQL

MySQL优化

2017-06-16 11:58 288 查看

MySQL优化

常见的优化步骤

优化sql语句和索引

增加缓存:memcached,redis

主从复制,读写分离

垂直拆分,水平拆分

MySQL数据库设计总结

优先使用MyISAM存储引擎。有事务需要的使用InnoDB存储引擎

命名规则:

表名都小写,单词之间用下划线分开

表名:tb_业务名称_功能

数据库字段类型定义:

变长使用varchar

把IP地址存成 UNSIGNED INT

如性别,状态,部门使用 ENUM 而不是 VARCHAR

小数类型为decimal,禁止使用float和double

每个表都应该有主键自增id, 创建时间,修改时间,状态。方便以后查看

索引规则

表的主键、外键必须有索引

索引应该建在选择性高的字段上

索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引

频繁进行数据操作的表,不要建立太多的索引

唯一确定一条记录的一个字段或多个字段要建立主键或者唯一索引,不能唯一确定一条记录,为了查询效率建普通索引

查询规则

避免使用 select * from

delete 删除时候 先select

能用UNION ALL就不要用UNION

能用DISTINCT的就不用GROUP BY

以下情况避免使用,会放弃索引而全表扫描

尽量避免在 where 子句中使用!=或<>

尽量避免在 where 子句中使用 or (使用union all)

尽量避免在 where 字句中使用 in 和 not in

用 exists 代替 in
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据库 优化