问题标签 [database-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
5661 浏览

sql - 你能有太多的存储过程吗?

是否存在存储过程过多之类的东西?

我知道你可以拥有的数量是没有限制的,但这是否有任何性能或架构原因不创建数百、数千?

0 投票
11 回答
119849 浏览

sql - 有哪些不同类型的索引,每种索引的好处是什么?

有哪些不同类型的索引,每种索引的好处是什么?

我听说过覆盖索引和聚集索引,还有更多吗?你会在哪里使用它们?

0 投票
9 回答
4010 浏览

sql - 您如何针对特定查询优化表?

  1. 您用来确定频繁查询的模式是什么?
  2. 如何选择优化因子?
  3. 可以进行哪些类型的更改?
0 投票
7 回答
35452 浏览

sql - SQL Null 设置为零以添加

我有一个 SQL 查询(MS Access),我需要添加两列,其中任何一列都可能为空。例如:

其中 Column3 或 Column4 可能为空。在这种情况下,我希望 null 被视为零(so 4 + null = 4, null + null = 0)。

关于如何做到这一点的任何建议?

0 投票
10 回答
7353 浏览

sql - 在 SQL 查询中组合拆分日期范围

我正在处理一个需要根据日期范围组合一些数据行的查询。这些行在所有数据值中都重复,但日期范围被拆分。例如,表数据可能看起来像

查询的结果应该组合了拆分日期范围。查询应结合仅间隔一天的日期范围。如果间隔超过一天,则不应合并行。没有拆分日期范围的行应该保持不变。结果看起来像

这个查询的 SELECT 语句是什么?

0 投票
23 回答
9717 浏览

database-design - 设计数据库时要记住哪些重要事项?

设计数据库时要记住哪些重要事项?

我不想限制您对我的需求的回答,因为我相信其他人也可以从您的见解中受益。但我正在为多客户社区驱动的网站规划一个内容管理系统。

0 投票
17 回答
50288 浏览

database - 多少数据库索引太多了?

我正在开发一个具有相当大的 Oracle 数据库的项目(尽管我的问题同样适用于其他数据库)。我们有一个网络界面,允许用户搜索几乎任何可能的字段组合。

为了使这些搜索快速进行,我们正在为我们认为用户通常会搜索的字段和字段组合添加索引。但是,由于我们并不真正知道我们的客户将如何使用该软件,因此很难判断要创建哪些索引。

空间不是问题;我们有一个 4 TB 的 RAID 驱动器,我们只使用了其中的一小部分。但是,我担心索引过多可能会导致性能下降。因为每次添加、删除或修改行时都需要更新这些索引,所以我想在一个表上拥有数十个索引是个坏主意。

那么有多少索引被认为是太多了?10?25?50?还是我应该只涵盖真正、非常常见和明显的案例而忽略其他所有内容?

0 投票
14 回答
59538 浏览

sql - 子查询与连接

我重构了我们从另一家公司继承的应用程序的慢速部分,以使用内部联接而不是子查询,例如:

重构后的查询运行速度提高了大约 100 倍。(约 50 秒到约 0.3 秒)我预计会有所改善,但谁能解释为什么它如此激烈?where 子句中使用的列都已编入索引。SQL 是否每行执行一次 where 子句中的查询?

更新- 解释结果:

不同之处在于“where id in ()”查询的第二部分 -

vs 1 个带有连接的索引行:

0 投票
6 回答
8903 浏览

ruby-on-rails - 跟踪更改历史的数据库结构

我正在将项目管理系统的数据库设计作为个人项目进行,但遇到了障碍。

我想实现一个票证系统,我希望票证看起来像Trac 中的票证。我将使用什么结构来复制这个系统?(我在我的任何系统上安装 trac 都没有成功,所以我真的看不到它在做什么)

注意:我对尝试存储或显示任何版本的票都不感兴趣。我只需要变化的历史。我不想存储额外的数据。此外,我在文本字段中使用序列化数组实现了这样的功能。我不想再将其作为解决方案实施。

编辑:我只寻找数据库结构。触发器/回调并不是真正的问题。

0 投票
7 回答
476 浏览

database-design - 关系阵营和“现实世界”数据库开发

自1995 年伊达和达尔文的《第三宣言》首次出版以来,已经过去了十多年。

关系学派在当今数据库世界中的位置是什么?是否有任何证据表明 Manifesto 的想法改变了主流软件开发和数据管理实践?他们是否催生了新的数据管理产品?这些产品在商业上是否成功?