mysql数据库设计优化

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值