好的表结构分的比较细致,个人理解大概主要分为主表、明细、历史记录表、中间表,辅助表结构应该分为:类型表、状态表、统计表、统计明细表等。为了一个功能加那么多表实在是多余,如果写一个非常复杂的业务逻辑还是很有必要的,因为要做到物帐联动。这可能不是一个明智的选择,还有一种方案是尽可能的压缩表结构,少分一些表结构出来这样可能有利于sql优化,服务器的负担更轻一些。如果一条sql连了二十几张表,三分之一是主表,其它是次表。那么它和三分之一的主表+多添加的字段进行比较,哪个跑的更快,会是一件很有趣的事情,第二种很可能跑的快但它不利于重用性、习惯性的分层更加有利于阅读。也可能它跑的并没有想像中的那么快,因为相对于第一种它增了次表的负担,在百万数据量面前条件越多速度越快,科学的讲速度还受表结构字段的长度的影响。当然第二种只是推测,因为在相等条件下,没有做过测试。
相关文章
- 一篇文章带你弄懂Kerberos的设计思路
- 第45期:一条 SQL 语句优化的基本思路
- 查询SQL Server 数据表中不包含某一列的SQL语句该怎么写?
- SQL Server打开数据表中的XML内容时报错的解决办法
- 如何用sql语句删除数据表中的字段,并且给另外一个字段改名?
- 在SQL SERVER 的数据库设计期,可以修改表中某个字段的名称或删除这个字段,如何在程序中做到这一点呢,用什么语句?
- SQL:数据表给定字段的多行记录的合并
- 在T-SQL中,多个INNER JOIN的最佳设计是什么?
- 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制
- zuul网关的设计思路的思考