数据库的优化方式有哪些

作者:谭庆波
链接:https://www.zhihu.com/question/36431635/answer/381557352
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

对于后端开发人员来说,经常会和数据打交道,所以数据库的优化很重要,今天总结下部分数据库的优化知识。主要可以通过以下几种方式对数据库进行优化:

性能优化

  • 表的设计合理化,符合三大范式(3NF)
    • 1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF)
    • 2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
    • 3NF是对字段冗余性的约束,它要求字段没有冗余。 没有冗余的数据库设计可以做到。
  • 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]
    • 较频繁的作为查询条件字段应该创建索引;
    • 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件;
    • 更新非常频繁的字段不适合创建索引
    • 不会出现在WHERE子句中的字段不该创建索引
  • 分表技术(水平分割、垂直分割);
  • 读写[写: update/delete/add]分离;
  • 存储过程 [模块化编程,可以提高速度];
  • 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ];
  • mysql服务器硬件升级;
  • 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)。

SQL语句优化

  • 通过show status命令了解各种SQL的执行频率;
  • 定位执行效率较低的SQL语句-(重点select;
  • 通过explain分析低效率的SQL;
  • 确定问题并采取相应的优化措施。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值