问题标签 [database]

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 投票
11 回答
7973 浏览

.net - 可脱离网络运行的 .net 嵌入式数据库

我一直在(现在仍然)在寻找要在 .net (c#) 应用程序中使用的嵌入式数据库。警告:应用程序(或至少数据库)存储在网络驱动器上,但一次只能由 1 个用户使用。

现在,我的第一个想法是SQL Server Compact edition。这确实很好地集成了,但它不能脱离网络运行。

Firebird似乎也有同样的问题,但 .net 集成似乎并不是真正的一流,而且基本上没有记录。

Blackfish SQL看起来很有趣,但没有 .net 版本的试用版。定价也还可以。

有什么其他的建议可以很好地与 .net 配合使用并且在不需要实际安装服务器软件的情况下在网络上运行?

0 投票
8 回答
26180 浏览

sql-server - 由多个用户编辑数据库记录

我设计了数据库表(标准化,在 MS SQL 服务器上),并为一个应用程序创建了一个独立的 Windows 前端,少数用户将使用它来添加和编辑信息。我们将添加一个 Web 界面,以便以后在我们的生产区域进行搜索。

我担心如果两个用户开始编辑相同的记录,那么最后提交更新的用户将是“赢家”,重要信息可能会丢失。我想到了许多解决方案,但我不确定我是否会造成更大的头痛。

  1. 什么都不做,希望两个用户永远不会同时编辑同一个记录。- 可能永远不会发生,但如果发生了怎么办?
  2. 编辑例程可以存储原始数据的副本以及更新,然后在用户完成编辑时进行比较。如果它们不同,则显示用户和确认更新- 需要存储两份数据。
  3. 添加最后更新的 DATETIME 列并在我们更新时检查它是否匹配,如果不匹配则显示差异。- 需要在每个相关表中添加新列。
  4. 创建一个编辑表,在用户开始编辑将要检查的记录时注册并防止其他用户编辑同一记录。- 需要仔细考虑程序流程以防止死锁和记录在用户崩溃程序时被锁定。

有没有更好的解决方案,还是我应该选择其中之一?

0 投票
8 回答
30179 浏览

c# - 如何连接到数据库并在 C# 中循环记录集?

在 C# 中连接和查询数据库以获取一组记录的最简单方法是什么?

0 投票
8 回答
991362 浏览

sql - 数据库索引如何工作?

鉴于索引随着数据集大小的增加而变得如此重要,有人可以解释索引如何在与数据库无关的级别上工作吗?

有关对字段进行索引的查询的信息,请查看如何索引数据库列

0 投票
9 回答
47266 浏览

sql - 如何索引数据库列

希望我能得到每个数据库服务器的答案。

有关索引如何工作的概述,请查看:数据库索引如何工作?

0 投票
15 回答
206136 浏览

mysql - 在性能开始下降之前 MySQL 数据库可以有多大

MySQL 数据库从什么时候开始性能下降?

  • 物理数据库大小重要吗?
  • 记录数量重要吗?
  • 性能下降是线性的还是指数的?

我有一个我认为是大型数据库的数据库,大约有 1500 万条记录,占用了将近 2GB 的空间。基于这些数字,我是否有动力清理数据,或者我是否可以安全地让它继续扩展几年?

0 投票
20 回答
42792 浏览

php - 跟踪数据库架构更改的机制

跟踪和/或自动化数据库架构更改的最佳方法是什么?我们的团队使用 Subversion 进行版本控制,并且我们已经能够通过这种方式自动化我们的一些任务(将构建推送到临时服务器,将经过测试的代码部署到生产服务器),但我们仍在手动进行数据库更新。我想找到或创建一个解决方案,使我们能够在具有不同环境的服务器上高效工作,同时继续使用 Subversion 作为后端,通过该后端将代码和数据库更新推送到各种服务器。

许多流行的软件包都包含自动更新脚本,可以检测数据库版本并应用必要的更改。即使在更大规模(跨多个项目,有时跨多个环境和语言),这是否是最好的方法?如果是这样,是否有任何现有的代码可以简化流程,或者最好只是推出我们自己的解决方案?之前有没有人实现过类似的东西并将其集成到 Subversion 提交后挂钩中,或者这是一个坏主意?

虽然支持多个平台的解决方案更可取,但我们肯定需要支持 Linux/Apache/MySQL/PHP 堆栈,因为我们的大部分工作都在该平台上。

0 投票
4 回答
2359 浏览

python - 有任何使用协议缓冲区的经验吗?

我只是在查看有关 Google协议缓冲区数据交换格式的一些信息。有没有人玩过代码,甚至围绕它创建了一个项目?

我目前在 Python 项目中使用 XML 来处理在文本编辑器中手动创建的结构化内容,我想知道关于 Protocol Buffers 作为面向用户的输入格式的一般意见是什么。速度和简洁的好处似乎确实存在,但在实际生成和处理数据时有很多因素。

0 投票
8 回答
10203 浏览

sql-server - 您是否遇到过 SQL Server 因为引用了太多表而无法执行的查询?

您是否见过任何错误消息?

-- SQL Server 2000

无法为视图或函数解析分配辅助表。
已超出查询中的最大表数 (256)。

-- SQL Server 2005

查询中的表名过多。允许的最大值为 256。

如果是,你做了什么?

放弃了?说服客户简化他们的需求?非规范化数据库?


@(希望我发布查询的每个人):

  1. 我不确定是否可以在答案编辑窗口中粘贴 70 KB 的代码。
  2. 即使我可以这样做,这也无济于事,因为这 70 KB 的代码将引用 20 或 30 个我也必须发布的视图,否则代码将毫无意义。

我不想听起来像我在这里吹嘘,但问题不在于查询。查询是最佳的(或至少几乎是最佳的)。我花了无数个小时优化它们,寻找可以删除的每一列和每一个表。想象一个包含 200 或 300 列的报表,必须用单个 SELECT 语句填充(因为几年前它还是一个小型报表时就是这样设计的)。

0 投票
14 回答
369064 浏览

mysql - 自动生成数据库图 MySQL

我厌倦了在每个项目开始时打开 Dia 并创建数据库图。有没有一种工具可以让我选择特定的表,然后基于 MySQL 数据库为我创建一个数据库图?最好它允许我在之后编辑图表,因为没有设置任何外键......

这是我在图表上描绘的(请原谅可怕的数据设计,我没有设计它。让我们关注图表概念,而不是它代表的实际数据;)):

图表 见全尺寸图