ApacheIgnite:选择查询性能

ApacheIgnite:选择查询性能,ignite,singlestore,Ignite,Singlestore,我们在Ignite中插入了一个1000万行的表。 以下查询的执行时间约为10秒: 从tableName偏移量5000000行中选择*仅获取下一个100行 Ignite数据库安装在具有150 GB RAM的服务器上 在相同的硬件环境下,在MemSQL数据库中插入了相同的表,并且在6秒内执行了上述查询 为什么Ignite数据库中的执行时间这么长? 使用执行select查询时,Ignite中是否缺少某些内容 巨大的偏移量 如果您需要关于我们测试用例的任何进一步信息,请告诉我 问候,, Shravya。

我们在Ignite中插入了一个1000万行的表。 以下查询的执行时间约为10秒: 从tableName偏移量5000000行中选择*仅获取下一个100行 Ignite数据库安装在具有150 GB RAM的服务器上

在相同的硬件环境下,在MemSQL数据库中插入了相同的表,并且在6秒内执行了上述查询

为什么Ignite数据库中的执行时间这么长? 使用执行select查询时,Ignite中是否缺少某些内容 巨大的偏移量

如果您需要关于我们测试用例的任何进一步信息,请告诉我

问候,,
Shravya。

首先,请通过为JVM分配足够的内存来确保没有耗尽内存。其次,请在正在排序的字段上添加order by和索引。这将提高性能。

这似乎是一个奇怪的查询-如果没有ORDERBY子句,就无法真正保证每次将获得100行。你想达到什么目标?对于普通查询,我会询问您有多少个节点以及表结构索引、关联键。即使有一些奇数,6s和10s也是相同的数量级,因此缺少某些内容的问题是不正确的。创建索引有帮助的,但我们的用户通常会选择表的4-5列,然后进行排序和搜索。我们从旧RDM迁移的一些表大约有200多个列,在不同的列组合上创建索引显然是不切实际的。总的来说,我们发现memsql使用某种更智能的缓存技术来进行排序,其性能比ignite要好。