为什么创建 table 需要这么长时间?

Why does it take so long to create a table?

我正在创建以下架构:

CREATE TABLE stats_by_site_tracking_hourly (
    d_tally text, -- 2016-02
    d_date timestamp, -- 2016-02-01 13
    site_id int,
    is_new_member int, -- 1/0
    device text, -- desktop/tablet/mobile/unknown
    tracking_medium text,
    tracking_source text,
    tracking_campaign text,
    tracking_term text,
    accepted counter,
    adjusted_accepted counter,
    rejected counter,
    adjusted_rejected counter,
    error counter,
    impressions_positive counter,
    adjusted_impressions_positive counter,
    impressions_negative counter,
    adjusted_impressions_negative counter,
    revenue counter,
    adjusted_revenue counter,
    reversals_rejected counter,
    reversals_revenue counter,
    PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, tracking_medium, tracking_source, tracking_campaign, tracking_term)
);

当我 运行 语句时,似乎前几列处理得很快,但是当它移到计数器列时,每一列的速度越来越慢。

我已经离开这个声明 运行ning 5 分钟了,它仍然没有完成。

任何人都可以对此行为提供一些见解吗?


This 是创建 table 时 CQLSH 的样子,截取屏幕截图时它已经有 20 分钟左右没有进展了。


我只是将 create table 命令放在一行中,它立即起作用了。

CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, site_id int, is_new_member int, device text, tracking_medium text, tracking_source text, tracking_campaign text, tracking_term text, accepted counter, adjusted_accepted counter, rejected counter, adjusted_rejected counter, error counter, impressions_positive counter, adjusted_impressions_positive counter, impressions_negative counter, adjusted_impressions_negative counter, revenue counter, adjusted_revenue counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, tracking_medium, tracking_source, tracking_campaign, tracking_term) );

我在多台计算机上都遇到过同样的问题,看来这是 cqlsh> 交互式 shell 中的错误。如果您从终端执行脚本,它将立即执行:

> cqlsh -f your_cql_script.cql <hostname>

无论表格大小如何,它都会立即运行,并且会为您节省大量时间。

我在这里提出了这个错误:here

原来这是由于架构中的选项卡造成的。 CQLSH 每次遇到选项卡时都试图自动完成。