数据库索引

索引: 索引是数据库中用来提高查询效率的技术,类似于目录

为什么用:不使用索引,数据会零散的保存在磁盘块中,查询数据需要挨个遍历每一个磁盘块,直到找到数据为止,使用索引后会将磁盘块以树状结构保存,查询数据时会大大降低访问的磁盘块数量,从而提高查询效率。

缺点:索引会占用磁盘空间,只对常用的查询字段创建索引。如果表中数据量很少,添加索引反而会降低查询效率。

复合索引:通过多个字段创建的索引称为复合索引。

后台数据优化

  1. 缓存,在持久层或持久层之上做缓存使用ehcache缓存。
    这个一般用于持久层的缓存,提供持久层、业务层的快速缓存,hibenate默认使用的二级缓存就是ehcache;
  2. 数据库表的大字段剥离
    假如一个表的字段数有100多个,学会拆分字段,保证单条记录的数据量很小;
  3. 恰当地使用索引
    必要时建立多级索引,分析MySQL的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描;
  4. 表的拆分表
    分区和拆分分区和拆分无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区)。
  5. 字段冗余
    减少跨库查询和大表连接操作;,数据通过单个或多个JOB生成出来,减少实时查询;
  6. 从磁盘上做文章
    数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的;
  7. 放弃关系数据库的某些特性
    引入NoSQL数据库;换种思路存放数据,例如搜索中的倒排表;

详细参考:https://www.jianshu.com/p/fea61b518dc4

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值