java技术--数据库优化分表

前面介绍了数据优化最常用的技术—使用索引,但是当数据达到千万级别时就需要使用另外一种优化方式分表优化!!
1.一般情况下,能不分就不分;
2.分表有两种:水平,垂直
2.1.水平分表:相当于复制多张表
举例:有1000万条数据,分10个表,那么每个表只存100万条数据,这10个表字段,属性等是一样的
2.2.可以使用sql语句+判断条件进行控制

  举例:这里有3张表:user1,user2,user3,我们向表中添加数据实例如下
    if( id%2=0){
     insert into user1(id,name,sex) value(1,“张三”,“男”);
    }else if( id%2=1){
     insert into user2(id,name,sex) value(1,“张三”,“男”);
    }else{
     insert into user3(id,name,sex) value(1,“张三”,“男”);
    }
   同理查询数据也可以根据条件查询    

2.2.垂直分表:相当于将一张表字段,拆分好几个字段,重新组成一张表

  举例:这里有一张表,公有10个字段,可以拆分为3+3+4,从而组成三张新子表   

3.目前对于一般企业百万级数据索引可以满足需求,如有特殊需求可以考虑分库分表操作
扩展:除了添加索引,分库分表,还有主从同步(读写分离),缓存技术
1.索引,分库分表实现起来相对方便
2.主从同步,使用缓存技术需要借助第三方插件,并且需要配置一系列文件
3.常用的缓存技术有:
(1)hibernate二级缓存,该缓存不能完成分布式缓存
(2)redis(memcahe等)来作为中央缓存,对缓存的数据进行集中处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值