MapD 在文本字段上运行缓慢

MapD slow on text fields

在对以下查询进行基准测试时:

SELECT * from test order by c0 asc limit 1

在十次测试中我们得到:

Took: 7877 ms. (7.877 s)
Took: 15617 ms. (15.617 s)
Took: 8067 ms. (8.067 s)
Took: 15924 ms. (15.924 s)
Took: 8057 ms. (8.057 s)
Took: 15864 ms. (15.864 s)
Took: 15455 ms. (15.455 s)
Took: 15245 ms. (15.245 s)
Took: 7857 ms. (7.857 s)
Took: 15624 ms. (15.624 s)

c0 是一个文本字段。 为什么这个查询这么慢?有没有办法解决这个问题或采取变通办法,以便查询(在任何其他数据库中需要 0.1 秒)可以正常工作?

table 中有多少行? c0 的基数是多少?是否可以访问您的基准详细信息和数据。

MapD 没有索引,所以用这样的 sql 表示,排序完全针对 c0 列执行,我们没有针对这种特定样式的查询计划进行优化。

要获得更高效的查询结果,请尝试按如下方式重写它

select * from test where c0 in (select c0 from test group by c0 order by c0 asc limit 1) limit 1;

有点啰嗦,希望你能找到更好的表现。

使用在线 400m Twitter 数据集,以下查询在大约 100 毫秒内返回

select * from tweets_new where county_state in (select county_state from tweets_new group by county_state order by county_state asc limit 1) limit 1;