关系型数据库分区

实际上可以多层分区自分区的形式
p b s item

如果按照item分区,是不是也更多张表各写一条数据一样慢?

实际上可以 p b s用column分区,好像column必须要range,那线性hash也不错,item用hash分区

Chapter 23 Partitioning
MySQL性能优化(六):分区

维持现在的5张分表

  • 按照时间分区
  • 按照Hash分区

不闻此现在的5张表分区

为什么csv中前20列在一起就没问题,而item就不一样了呢
既然前20列可以看成一个自然整体,实际上每个item当然也对应一个测试记录也是一个整体,那么什么样的套路情况下就需要item分开了呢,也就所实际上任何信息都可以联系看成一条,分开的独立数据库这也有联系?

分开的方式又有哪些?这里首先想到的是垂直分表,

既然按照mongodb的索引
uername1 age1 ->2342asadf
uername1 age 2->2342asadf
uername2 age1 ->2342asadf
uername2 age2 ->2342asadf

也就说复合索引是有顺序的,那么实际山个value表增加item索引,那么数据库也能很快定位到连续的item,从而找到多个record的item列的所有值,即

item1 record1 -> 242342
item1 record2 -> 242342
item2 record1-> 242342
item2 record2 -> 242342
item3 record1-> 242342
item3 record2 -> 242342

或者

record1 item1 -> 242342
record1 item2 -> 242342
record1 item3 -> 242342
record2 item1 -> 242342
record2 item2 -> 242342
record2 item3 -> 242342

这两种索引顺序,在取出某列值得情况下哪种更好?

  • 第一种的时间复杂度为log(3)*log(2)
  • 第二种的时间复杂度为log(2)*log(3)

并没有区别,而且计算时间万个item,log之后也不大

这种复合索引和分区的比较,上面的情况感觉所有和分区的效果一样,不过好像索引导致的写入压力很大,而分区由于每个分区是一个文件可以并行

所有的不论分库,分表,分区,索引的方式都是将查找的时候能够很快的缩小范围,

Happy learning !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值