表结构设计问题
Aug 04, 2016 am 09:20 AM
一个表结构设计,有些不懂怎么做了,请问一下大家:
有一个模块,下面有6张不同类型的表,它们都有共同的字段5~6个。(每张表的数据都超过3000万)
1、新建一个总表,把这5个字段都分出来,再加个日志类型ID来操作6个表(第三范式),做联合查询。
<code>优点:可以方便更新共同字段、统计数据 缺点:数据多了,联合查询是个问题 </code>
2、单独6个表
<code>优点:(查询单表不用联合、插入也方便一些) 缺点:统计和更新共同字段状态、以及做报表什么之类的都需要 一次性去操作6个表 </code>
应该怎么选用那种方式好一些呢, 或者其它建议?
谢谢!
回复内容:
一个表结构设计,有些不懂怎么做了,请问一下大家:
有一个模块,下面有6张不同类型的表,它们都有共同的字段5~6个。(每张表的数据都超过3000万)
1、新建一个总表,把这5个字段都分出来,再加个日志类型ID来操作6个表(第三范式),做联合查询。
<code>优点:可以方便更新共同字段、统计数据 缺点:数据多了,联合查询是个问题 </code>
2、单独6个表
<code>优点:(查询单表不用联合、插入也方便一些) 缺点:统计和更新共同字段状态、以及做报表什么之类的都需要 一次性去操作6个表 </code>
应该怎么选用那种方式好一些呢, 或者其它建议?
谢谢!
数量量有这么多的情况下
建在一张表里,同时把数据仍到es里去,读的时候读es
更新操作操作表,同时把更新过的数据同步到es
问题不是很清楚。
六个表是什么关系,为何统计更新共同字段需要一次性操作6个表。
目前是什么样子的,性能如何,会有什么样的查询和更新语句。
其实数据到3千万可以考虑分表了。
分表更好一些,数据量多了分表是不可避免,而且分表的方式也还行,如果是需要考虑经常性检索需要,可以考虑按照经常性检索的条件方式作为存储分表的结构,可以加速统计速度。其他的检索比较少的方式也只能多检索几次了。
鉴于数据量在千万级别的情况,可以考虑定期去执行生成临时统计表,降低数据库压力,加快查询统计速度。
是什么场景的数据,电信话单?做 业务统计的话,建议是分表处理,有时 不见得 非得让大批量的 表进行笛卡尔积 才可以解决问题

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Comment analysez-vous et traitez-vous HTML / XML dans PHP?
