【发布时间】:2013-09-12 21:53:25
【问题描述】:
我必须使用以 (user_id, timestamp) 作为键的列族。在我的查询中,我想获取给定时间范围内的所有记录,而与 user_id 无关。这是确切的表架构:
CREATE TABLE userlog (
user_id text,
ts timestamp,
action text,
app_type text,
channel_name text,
channel_session_id text,
pid text,
region_id text,
PRIMARY KEY (user_id, ts)
)
我试着跑了
SELECT * FROM userlog WHERE ts >= '2013-01-01 00:00:00+0200' AND ts <= '2013-08-13 23:59:00+0200' ALLOW FILTERING;
在我的本地 cassandra 安装中运行良好,包含一个小数据集,但失败了
Request did not complete within rpc_timeout.
在包含所有数据的生产系统上。
是否有一个查询(最好是 cql)可以在给定的列族中顺利运行,或者我们必须更改设计?
【问题讨论】: