如何在 NuoDB 中将 SELECT 查询的性能提高到 table

How to improve the performance of SELECT query to a table in NuoDB

要求:

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

select * from TABLE where COLUMN2 = "record"

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

  1. 在writer中,我们积累了业务通过的所有记录 逻辑(记录数将小于 1000)并插入 数据库。

问题在这里: 考虑 table 存储了将近 400K 条记录。

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

在处理1000条记录时(也就是在数据库中命中上面的SQL查询1000次),处理需要4分钟。

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

分析时发现table中只有Primary Key列索引。 我们正在使用的列 (column2) 未作为索引列包含在内。

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

select * from TABLE where COLUMN2 = "record"

Please advise, whether adding a column as an index is a better solution to this.

是的,为您的 where 子句中使用的列添加索引应该会提高性能,在您的情况下,它是 COLUMN2