mysql数据库设计优化

来源:互联网 发布:有深度的新闻软件知乎 编辑:程序博客网 时间:2024/04/28 11:59

1、选取最适用的字段属性

1)数据库中的表越小,查询效率越高,所以将表中字段的宽度设计的尽可能小

2)字段设置为not null,减少比较Null值​

3)对于省份与性别等,可定义为enum类型(数值型数据,处理速度比文本类型快)

2、适用连接(join)​代替子查询(sub-queries)

使用join减少MySQL在内存创建临时表来完成逻辑上的两个步骤

3、使用联合(union)​代替手动创建的临时表

使用union将多个select语句连接起来​,select语句中字段数目要相同

​4、事务

1)保证数据的一致性和完整性(要么都成功,要么都失败)​

​2)多个用户同时使用相同的数据源时,可以锁定数据库来提供一种安全的访问方式

5、锁定表

​事务独占性,在高并发是会影响数据库的性能,产生严重的响应延迟

6、​使用外键

锁定表数据关联性差,可以使用外键保证数据的关联性​

7、使用索引

1)​索引是提高数据库性能的常用方法,它可以令数据库服务器以 比没有索引快得多的速度检索特定的行,尤其是在查询语句当中包含有MAX(), MIN()和ORDERBY这些命令的时候,性能提高更为明显

2)​建立用于join、where判读和order by排序等字段上,避免使用有大量重复的值的字段做索引

8、优化的查询语句

1)相同类型的字段进行比较​操作(char和varchar类型字段大小相同时可进行比较)

2)在建有索引的字段上​尽量不使用函数进行操作

3)应该注意避免在查询中让MySQL进行自动类型转换​,使得索引不起作用

0 0