经验分享之数据库优化


在软件开发中,数据库的优化也是非常重要的一部分,坚实的后台会使你的系统更加完美!


mysql优化是一个综合性的技术,主要包括:

a、表的设计合理化【符合三范式(3NF)】

b、添加适当索引(index)【四种:普通索引normal,主键索引、唯一索引unique、全文索引fulltext】复合索引

c、分表技术(水平分割,垂直分割)

d、读写【写:update/delete/add】分离

e、存储过程【模块化编程,可以提高速度,但是移植性不好】

f、对mysql配置优化【配置最大并发数,修改my.ini,调整缓存大小】

每一个并发都会开一个进程,如果最大并发数太大,容易将内存撑破



g、mysql服务器硬件升级

h、定时的去清除不需要的数据,并且定时进行碎片整理(MyISAM

 

什么样的表才是符合3NF(范式)

表的范式,首先符合1NF,才能满足2NF,进一步满足3NF

1NF:对属性的原子性约束,要求表的列具有原子性,不可再分解,即列的信息,不能分解。只有数据库时关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动满足1NF.

2NF:表中的记录时唯一的,就满足2NF,通常我们设计一个主键来实现

3NF:即表中不要有冗余数据,就是说表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放。下面的设计就是不满足3NF的



符合3NF的设计:



反三范式:在表的一对多的情况下,为了提高效率,可能会在“一”这张表中设计字段,提高速度。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值