问题标签 [nuodb]

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 投票
1 回答
87 浏览

sql - 如何提高对 NuoDB 中表的 SELECT 查询性能

要求:

  1. 请考虑春季批量申请。
  2. 输入是一个包含一列值的文件。
  3. Spring Batch 被设计为面向块的设计。
  4. Chunk 设计为一次记录 1000 条记录
  5. 因此,Reader 在微秒内从文件中读取 1000 条记录。
  6. 处理器一次获取一条记录并触发 SQL 查询:

select * from TABLE where COLUMN2 = "record"

可能只检索到一条记录或多条记录,并且这些记录要经过一些业务逻辑。

  1. 在 writer 中,我们将业务逻辑传递的所有记录(记录数将少于 1000 条)累积起来并插入到数据库中。

这里的问题:考虑该表存储了近 40 万条记录。

从文件中读取 1000 条记录时,需要几微秒。

在处理这 1000 条记录时(即在数据库中点击上述 SQL 查询 1000 次),需要 4 分钟来处理。

在写入数据库时​​(插入例如 100 条选定的记录),它需要几微秒。

在分析时,我发现表中只有主键列索引。我们正在使用的列 (column2) 不包含在索引列中。

请告知,添加列作为索引是否是更好的解决方案。

0 投票
1 回答
48 浏览

docker - 如何在 Linux Docker 上将 Ado.Net 客户端连接到我的 NuoDB

我使用NuoDB 指令为 NuoDB 创建了 3 个必要的容器。我的 Docker 环境在虚拟 Ubuntu Linux 环境 (VMware) 上运行。之后我尝试使用控制台应用程序(C# .Net Framework 4.8)和 Ado.Net 技术访问数据库。为此,我使用了来自 Nuget.org 的 Nuget“NuoDb.Data.Client”。

不幸的是,连接不起作用。

如果我选择端口 8888,当我打开连接时,我的线程会消失到无穷大。出于这个原因,我尝试打开端口 48004 以访问管理容器。通过这种方式,我收到一条错误消息。

“System.IO.IOException:连接尝试失败,因为远程对端在一定时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应172.18.0.4:48006,172.18.0.4”

有趣的是,如果我指定了错误的数据库名称,它会引发错误:没有为数据库找到合适的事务引擎。这告诉我它连接到管理容器。

有谁知道我做错了什么?

当我与工具“ dbvisualizer ”建立连接时,连接有效。该工具直接访问事务引擎。为此我在对应的容器中打开了 48006 端口。但即使使用这些设置,它也不适用于我的控制台应用程序。

提前致谢。