问题列表 - 第22页

PostgreSQL 中的 BLOB 或引用

我需要将二进制数据文件存储在运行在 Ubuntu 服务器上的 PostgreSQL 数据库中。最初将有几十个文件,每个文件大小约为 250kb。但是,文件的数量会随着时间的推移而增加。我有时可能需要从文件中提取数据以进行其他下游分析。

我已经对将二进制数据存储为 BLOB 或引用的古老问题进行了一些研究。两者显然各有利弊。是否有任何与 PostgreSQL 相关的特定问题需要我注意?如果我想通过 PostgreSQL 函数或通过外部 Python 程序从文件中提取数据,是一种方法还是另一种方法更可取?

如果我将数据文件直接存储在数据库中,将它们存储在一个带有引用“主”表的外键的单独表中,而不是包含所有其他字段的表中会更好吗?

我已经阅读了这里的问题和答案;那里的评论表明在 Linux 上通过引用(在文件系统中)存储二进制文件更好。我在这里的问题特别与 PostgreSQL 有关,以及从文件中提取数据以进行各种分析。

更新:类似的问题。

postgresql

11
推荐指数
1
解决办法
2102
查看次数

有哪些数据屏蔽工具?(MySQL、Linux)

我正在寻找(最好是免费的、开源的)数据屏蔽工具。有这样的存在吗?

注意:这个相关问题涉及用于生成测试数据的工具,但在这个问题中,我更感兴趣的是从真实数据开始,并在不丢失任何特殊关系的情况下将其屏蔽以用于测试,而不会丢失任何使其对测试目的感兴趣的特殊关系。生成的数据适用于某些测试目的,但现实世界的数据会带来您从未想过的问题。 生成大型测试数据集的工具

mysql testing linux

14
推荐指数
3
解决办法
3万
查看次数

什么是数据库统计信息,我如何从中受益?

我听说过 SQL Server 默认保留的统计信息。他们在跟踪什么,我如何使用这些信息来改进我的数据库?

sql-server-2005 statistics

18
推荐指数
2
解决办法
4万
查看次数

SQL*Plus 的 Rem 和 -- 注释之间有什么区别吗?

在 SQL*Plus 提示符下,Rem和 都--可以作为注释指示符:

Rem this is a comment
-- this is also a comment
create table emp (
id number primary key,
name cvarchar2(40));
Run Code Online (Sandbox Code Playgroud)

这两种评论技术有什么区别吗?

oracle oracle-11g sqlplus

15
推荐指数
1
解决办法
3万
查看次数

有没有办法以编程方式编写与给定表关联的所有对象的脚本?

我知道在 SQL 管理工作室中,我可以右键单击表/触发器/键和script object as.... 给定对象的名称,有没有办法以编程方式执行此操作?

如果是这样,有没有办法找到与给定表关联的所有对象(主键、外键、触发器)并以编程方式编写所有这些对象?

sql-server-2005

9
推荐指数
2
解决办法
2488
查看次数

在生产中的数据库上使用 SQL Profiler

作为开发人员,我经常使用 SQL Profiler。这是一个很好的调试工具,既可以跟踪我的代码在做什么,也可以分析性能问题。

但是我一直在我的开发环境中使用它,并且以一种非常可控的方式使用它。

  • 启动我的应用程序,并使其进入特定状态
  • 在探查器上开始跟踪
  • 对我的应用程序执行特定的操作序列
  • 停止跟踪并检查结果。

SQL Profiler 能否在生产环境中实际使用?

我首先担心的是它会降低性能。

我的第二个担忧是,因为它正在生产中,您不会触发有趣的操作本身。您必须让分析器长时间运行,然后分析结果。结果集会变得太笨拙吗?(占用太多磁盘空间,查询太难)。

有人在生产中使用 SQL Profiler 吗?

sql-server profiler

28
推荐指数
3
解决办法
2万
查看次数

SQL Server 不应该支持 RANGE 吗?

作为开发网站并会做一些 SQL Server 的人,SQL Server 应该支持一个简单的子句,表明结果应该只包含特定范围的行,这对我来说似乎是毫无疑问的。例如,第 30 行到第 39 行。

就目前而言,当他们的主要关注点不是 SQL 时,在 SQL Server 中实现分页实际上有点超出了许多 Web 开发人员的能力。

此外,它将大大简化由于连接和其他条件而可能已经很复杂的查询。

最重要的是,我认为随着时间的推移,这样的条款可能更有可能在内部得到优化,因为逻辑将完全在 Microsoft 的控制之下。

前段时间我在另一个论坛上提出了这个问题,许多答复似乎表明这不是可取的。

鉴于任何现有的分页技术都将保持不变,有什么可能的原因不添加这样的子句?对于像我这样的人来说会好得多。

任何人都可以说微软没有这样做的充分理由吗?

sql-server sql-server-2012

9
推荐指数
1
解决办法
413
查看次数

存储大量列的好方法是什么?

我在决定如何将这些数据存储在我的数据库中时遇到了问题。关于最好的方法有什么建议吗?我对数据库知之甚少,我可能会补充。

我的数据格式如下,但不是 4,列数约为 240,因此每个日期都有 240 个与之关联的唯一值:

Date/Time 200,00 202,50 205,00  
2010.11.12  13:34:00  45,8214 43,8512  41,5369   
2010.11.12  13:35:00  461,9364  454,2612  435,5222 
Run Code Online (Sandbox Code Playgroud)

此外,行与 DataSites 相关联。

我的第一个想法是有一个像这样的表:DataID (pk)、DataSiteID、ParameterID、Date、Value,在 DataSite、Parameter 和 Date 上有一个索引。ParameterID 指的是另一个存储输入列标题的表 (200,00 202,50 205,00 ...)。

我的第二个想法是拥有一个包含所有 240 多列的表格。我想出了其他一些方法,但它们也很不令人满意。

我的第一个解决方案的问题(不是那么大的问题,但我不喜欢它)是日期和 DataSiteID 将重复输入行中的所有 240 个值,因此它使用了很多的额外空间。

每年会有大约40GB的数据进来(上面的文本格式),数据会通过DataSite、Parameter和Date进行搜索。传入的数据量很可能会在一年左右的时间内翻两番。

有什么好主意吗?谢谢,詹姆斯

编辑:这是时间序列数据,列是不同波长的测量值。数据需要在相对较窄的波长范围内进行分析。在未来的某个时候,也可能会添加额外的波长。

编辑:感谢大家的回答,我真的很感激:) 我想我可能会找时间用 500GB 左右的测试数据运行一些实验。我会带着任何结论回帖;)

database-design

18
推荐指数
3
解决办法
3330
查看次数

查询链接到 SQL Server 2008 的 MySQL 服务器时出错

我在 MS SQL Server 2008 中创建了一个链接服务器到远程 MySQL 服务器。当我尝试查询任何表时,出现错误:

.表名。不包含可以选择的列,或者当前用户对该对象没有权限。

有谁知道为什么会这样?

更新:看起来这是 MSSQL SERVER 2008 的一个已知问题

http://support.microsoft.com/kb/971261

mysql sql-server-2008 database-link

6
推荐指数
1
解决办法
1万
查看次数

从 SQL Plus 调用 SQL Loader

我想知道是否有办法从 SQL Plus 执行 SQL Loader 脚本。

我们正在使用 Oracle 10g。

oracle sqlplus

5
推荐指数
2
解决办法
1万
查看次数