EF CORE 操作大表的方案
1.数据库里一张表A,可能一月就会产生几千万条数据
2.A表的编号字段(code)规则不统一,有些编号有带日期,有些没有,业务操作上经常会通过A.code查询数据
3.还有其他几张大表和表A有外键关联,存储表A的ID
我用的数据库方案是用ef core来做的,数据库类型为PostgreSql,基于ef core有没什么好的设计方案?
---------------------------------
我的想法
1:对开发调整最小的应该是进行表分区,表分区根据编号(code)范围分区,但是因为编号(code)规则不统一,作为分区字段是否不合适?如果这种表分区就能解决,应该是最优的解决方案
2:如果code无法作为范围分区字段,对于A表按照不同规则分表,这样每张表的格则统一,然后再按照code进行表分区?这样做的话ef core如何设计能更好支持(开发不用过多关注数据到底存在在哪张表,由工厂类或者其他方式处理),而作为其他关联表又如何处理?
3:分库:分库作为后续数据归档时使用,是否暂时先不考虑?