问题标签 [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.
c++ - 与 MySQL 服务器通信的最佳方式是什么?
我将使用 C/C++,并且想知道与 MySQL 服务器对话的最佳方式。我应该使用服务器安装附带的库吗?除了官方图书馆之外,我还应该考虑哪些好的图书馆?
database - 为数据库应用程序留下审计跟踪/更改历史的有效策略?
人们成功地使用了哪些策略来维护相当复杂的数据库中数据的更改历史记录。我经常使用和开发的应用程序之一可以真正受益于更全面的跟踪记录随时间变化的方式。例如,现在记录可以有许多时间戳和修改的用户字段,但我们目前没有记录多个更改的方案,例如,如果操作回滚。在一个完美的世界中,可以在每次保存后重建记录,等等。
关于数据库的一些信息:
- 需要有能力每周增加数千条记录
- 50-60 桌
- 主修订表每个可能有几百万条记录
- 设置合理数量的外键和索引
- 使用 PostgreSQL 8.x
database - 开发人员应该在多大程度上了解数据库系统的细节?
当今的现代数据库系统具有大量功能。你会同意我的观点,要学习一个数据库,你必须忘记你在另一个数据库中学到的概念。例如,每个数据库将实现与其他数据库不同的锁定。因此,将一个数据库的概念带到另一个数据库将是失败的秘诀。可能还有其他示例,其中两个数据库的性能会非常不同。
因此,在开发数据库驱动系统时,程序员是否需要详细了解数据库,以便他们为性能编写代码?我认为让 DBA 稍后要求性能是不合适的,因为他的工作只是维护数据库并在紧急情况下帮助开发人员,而不是定期。
您认为开发人员需要深入了解数据库的程度应该是多少?
sql-server - 从数据库中选择现有数据以创建测试数据
我有一个 SqlServer 数据库,我手动填充了一些测试数据。现在我想将此测试数据提取为插入语句并将其签入源代码管理。这个想法是其他团队成员应该能够创建相同的数据库,运行创建的插入脚本并拥有相同的数据进行测试和开发。
有没有一个很好的工具可以做到这一点?我不是在寻找生成数据的工具,如此处所述。
database - 在数据库中存储国际地址的“最佳”方式是什么?
在数据库中存储国际地址的“最佳”方式是什么?以模式的形式回答,并解释您选择规范化(或不规范化)方式的原因。还要解释你为什么选择每个字段的类型和长度。
注意:您决定您认为哪些字段是必要的。
database - 存储过程和超时
我正在运行一个长过程存储过程。
我想知道在启动对存储过程的调用后是否会出现超时或与数据库断开连接的情况。它是否仍在工作并在服务器上实施更改?
database - 将最新的各种用户元数据标签加入用户行
我有一个带有用户表(用户 ID、名字、姓氏)和用户元数据表(用户 ID、代码、内容、创建日期时间)的 postgres 数据库。我通过代码将有关每个用户的各种信息存储在 usermetadata 表中,并保留完整的历史记录。例如,用户(用户 ID 15)具有以下元数据:
我需要获取所有用户的列表以及每个用户元数据代码的最新值。我以编程方式完成了这项工作,当然速度非常慢。在 SQL 中我能想到的最好的方法是加入子选择,这也很慢,我必须为每个代码做一个。
sql - 插入 ... 值( SELECT ... FROM ... )
我正在尝试INSERT INTO
使用来自另一个表的输入来创建一个表。尽管这对于许多数据库引擎来说是完全可行的,但我似乎总是很难记住当时SQL
引擎(MySQL、Oracle、SQL Server、Informix和DB2)的正确语法。
是否有来自 SQL 标准(例如SQL-92 )的灵丹妙药语法允许我插入值而不必担心底层数据库?
database - 数据压缩如何比索引更有效地提高搜索性能?
对于我们的应用程序,我们保留由三个整数列(源、类型和时间)索引的大量数据。加载大量数据可能需要一些时间,我们已经实施了各种措施来减少必须搜索和加载更大查询的数据量,例如为不需要高分辨率的查询存储更大的粒度(时间-明智的)。
在我们的备份存档中搜索数据时,数据存储在 bzip 压缩文本文件中,但结构基本相同文件。事实上,untar-to-pipe 甚至比仅仅 grep 未压缩文件(即不考虑 untar-to-disk)要快得多。
这让我想知道磁盘 I/O 对性能的影响是否真的比我想象的要严重得多。所以这是我的问题:
您是否认为将多行的数据放入单行的(压缩)blob 字段并在提取过程中动态搜索单行可能比通过表索引搜索相同的行更快?
例如,而不是拥有这张桌子
我会
quickdata 中的每一行大约有 100-300 行数据,并在 blob 字段的解压缩和解码期间动态搜索所需的时间戳。
你能理解这个吗?我应该调查哪些参数?可能附加什么条件?存在哪些 DB 功能(任何 DBMS)来实现类似的效果?
mysql - 是否有用于备份数据库中数据的 rake 任务?
是否有用于备份数据库中数据的 rake 任务?
我已经备份了架构,但我想备份数据。这是一个小型的 MySQL 数据库。