Aldwin 2019-01-07 15:45 采纳率: 0%
浏览 1066
已采纳

mysql数据库分表和分区的问题

最近在做公司文件管理的时候遇到一个需求,需要将文件根据部门保存,所以设计了设计了一个部门表用以存储部门和对应文件存储的表号。图片说明图片说明

在页面上根据不同部门和条件先显示对应的文件分页,当不指定部门只指定其他条件的时候,就需要从不同文件表中select整合在一起,我建立一个视图去union所有的文件表,但是如果增加新部门的话,那么这个视图就需要重新改。所以我想到了用分区,然后询问组长的时候被回绝了。

问题

所以我想问一下为什么不能用分区?还有有什么比较好的方法可以解决这个问题

  • 写回答

2条回答 默认 最新

  • 大川里的小川人 2019-01-07 16:47
    关注

    我对楼主的理解是,因为视图在增加新部门的时候,修改幅度较大,所以使用分区,在添加新部门的时候,变动较小,但是

    但是分区的问题在于查询,加入我们按照部门为主键进行分区,此时按照 部门主键进行查询的时候,确实是有可能提高查询速度的,因为分区后,数据量变小了,并且建立的B+树层数可能也比原来的小一些。

    但是如果不是按照主键索引查询,而是按照辅助索引查询,那么每个分区你都需要去访问一遍,每个分区都需要访问一遍B+树,假设分成了8个区,B+树为3层,这里查询需要24次IO,而原来只需要3次IO。

    而对于这种一对多的关系,你的数据库表设计是有问题的,文件是唯一的,文件(1)对 部门(多),一个文件只属于一个部门,一个部门有多个文件。 所以应该是 文件表 添加部门字段。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据