问题标签 [rdbms]

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 投票
4 回答
6321 浏览

java - 在 SQL Server 中插入 JDBC 时自动生成密钥

是否有一种通用的跨 RDMS 方式可以在 JDBC 插入上自动生成密钥?例如,如果我有一个带有主键、id 和 int 值的表:

并做一个插入

我得到一个 java.sql.SQLException:无法将值 NULL 插入到列“id”中。

我有一种感觉,这完全依赖于 RDMS。我们正在使用 SQL Server 2005,我已经设置

在表中没有运气。

0 投票
3 回答
847 浏览

database - PostgreSQL 时间戳字段中的数据损坏

我有一个具有以下架构的 PostgreSQL 表 -

然后我用这样的数据将一些数据插入到表中 -

如果我检查数据库中的数据,我会得到这个 -

在我尝试插入一些日期为 1946 年之前的数据之前,一切都很好而且很花哨 -

看看上面的结果。请注意时区值如何从 +05:30 更改为 +06:30

当我插入 1942 年之前的任何日期时,它实际上会变得更糟 -

现在时区值已完全损坏,无法解析日期。

我将不胜感激。

我的时区是亚洲/加尔各答 (GMT+05:30)。

更新:我尝试通过像这样明确指定 TZ 来输入数据 -

即使那样也没有用。

0 投票
3 回答
327 浏览

sql - RDBS 何时使用复杂索引进行查询,何时使用简单索引?

假设我的数据库模式中有一个名为 TEST 的表,其中包含字段(id、name、address、phone、comments)。现在,我知道我将为该表执行大量不同的查询,因此我的问题是下一个,何时以及为什么要创建像 ID_NAME_INDX(id 和名称的索引)这样的索引以及何时创建更有效分别索引 id 和索引 name 字段(当我的意思是什么类型的查询时)?

0 投票
2 回答
1486 浏览

rdbms - 主内存数据库与对象数据库

我目前正在尝试选择数据库供应商。

我只是从那里的数据库开发人员那里寻求一些个人意见。

我的问题特别针对以下人群:

1)之前使用过支持复制到磁盘(混合)的主内存数据库(MMDB)(即ExtremeDB

或者

2) 使用过Versant Object Database和/或Objectivity Database和/或Progress ObjectStore

问题确实是:如果您可以根据您的经验推荐适合我的应用程序的数据库供应商。

我的应用程序是一个商业实时(阅读:高性能)面向对象的 C++ GIS 类型的应用程序,我们需要在其中进行大量纬度/经度搜索(即给定一个区域,查找该区域内的所有匹配目标。 ..R-树索引)。

我想存储到数据库中的数据类型都被建模为对象,并且它们使用 std::list 和 std::vector,所以自然地,对象数据库似乎是有意义的。我已经阅读了足够多的文章来说服自己,传统的 RDBMS 可能不是我真正想要的

  1. 性能(用于动态长度数据(如列表/向量)的连接或多个表)
  2. 易于编程(阻抗不匹配)

不过,就性能而言,

  1. 输入数据以大约 40 MB/s 的速度输入系统。

  2. 因此,系统还将以大约每秒 350 次插入的速率插入数据库(其中每个对象从 64KB 到 128KB 不等),

  3. 数据库将始终通过多个线程进行搜索和更新。

据我了解,我在这里列出的所有对象数据库都使用缓存来存储数据库对象。ExtremeDB 声称,由于它是专为内存设计的,因此可以避免缓存逻辑等开销。通过谷歌搜索查看更多信息:主内存与 RAM 磁盘数据库:基于 Linux 的基准测试

所以..我只是有点困惑。对象数据库可以在实时系统中使用吗?它和 MMDB 一样“快”吗?

0 投票
3 回答
434 浏览

database - 关系数据库和面向对象数据库哪个更好,会被压制?

我想知道RDBMS或OODBMS是否会在不久的将来被压制?

今天我阅读了很多关于它们之间差异的文章,并且大多数文章似乎都支持 OODBMS。这是否意味着 RDBMS 将被尚未完善的 OODBMS 压制?如果不是,是什么让你这么认为?

0 投票
1 回答
588 浏览

sql - 如何将 SQL 数据表转换为指针表?

假设我有一个元组(id、姓氏、名字、职业)的 SQL 表,其中所有值都是字符串(好的,显然id是一个键)。

我想将它转换为带有元组(id、lastid、firstid、occupid)的表,其中我只保留指向包含实际值的其他表的指针。如果示例域名和职业不是最适合此操作,我深表歉意。

显然,要创建将保存数据的其他表,我需要获取所有唯一的姓氏,并将它们插入到具有自动生成键的新表中。名字和职业也是如此。

完成之后,是否有一个单一的转换可以生成包含指针(呃,外键)的新表?

如果重要,实现使用 SQLite。

0 投票
3 回答
267 浏览

sql - SQL 更新语句构造——对效率的影响

如果您向 RDBMS 提交更新语句,其中 column_name = value 映射的顺序与文件的物理布局不匹配,它是否会影响(理论上)更新操作的效率?

我主要是出于好奇而问,我很清楚这可能影响不大。

0 投票
9 回答
7315 浏览

mysql - 我应该标准化我的数据库吗?

在为数据库(例如 MySQL)设计模式时,会出现是否完全规范化表的问题。

一方面连接(和外键约束等)非常慢,另一方面你会得到冗余数据和不一致的可能性。

“最后优化”是正确的方法吗?即创建一个按规范规范化的数据库,然后查看可以对哪些内容进行非规范化以实现最佳速度增益。

关于这种方法,我担心的是我会选择一个可能不够快的数据库设计——但在那个阶段重构模式(同时支持现有数据)将是非常痛苦的。这就是为什么我很想暂时忘记我学到的关于“正确”RDBMS 实践的一切,并尝试一次“平面表”方法。

该数据库将插入大量的事实是否会影响该决定?

0 投票
4 回答
592 浏览

mysql - 数据库问题:将简单的关系表更改为非关系表?

我有一个在 MySQL 数据库上运行的 Web 应用程序(正在开发中)。我正在考虑将我的应用程序迁移到 Google App Engine,并希望更好地了解如何将我的简单关系数据库模型转换为非关系方法。

我是一个长期的关系数据库人员,我没有使用 BigTable 等基于列的数据库的经验。万一谷歌也支持关系数据库的小型部署,我想说明我的问题是一般性的,而不是谷歌特有的——我想了解如何在非关系数据库中表示简单的关系模型。

我的数据库(简化)如下:

我有很多项目,每个项目都有一个名称和 ID。每一项都有多个属性,每个属性都有几个参数(我只说了每个属性的名称和“重要性”,但还有更多)。我有数千万个项目,每个项目都有数百个属性。

使用场景:我收到一个 ItemName 作为输入,在 items 表中查找它的 ID,并通过该 id 获取所有属性。然后我对属性列表(在内存中)进行一些分析,并返回一个结果。

90% 的工作是基于参数的查找,这(如果我理解正确的话)是非关系数据库的痛点。

推荐的方法是什么?

0 投票
6 回答
2459 浏览

sql - RDBMS 如何处理陈旧的连接?

考虑建立与 RDBMS 的连接,然后拔出网络插头。(如果连接通过 NAT 网关,您将获得相同的效果,并且网关决定清除该连接。)

此时,RDBMS 服务器正在等待永远不会发生的查询或其他任何事情。并且客户端不会关闭 TCP 连接,因为它不再在该网络上。据推测,服务器也不会关闭它,因为它仍然认为连接是打开的。

典型的 RDBMS 是否通过超时和/或通过 TCP 实现简单的保活机制来处理这个问题?有人对 Oracle、SQL Server 和 MySQL 有这方面的经验吗?

编辑; 更多挖掘表明 mysql 在 8 小时不活动后清除连接。