我试图从sqlite数据库中提取统计信息。我基本上收集每一列的所有可能的变化和变化计数,而主键按
group_id
列(多个
skus
属于每个人
).
sku, group_id, column_a, column_b
查询(节略)如下:
SELECT
group_id,
count(sku),
group_concat(distinct column_a),
count(distinct column_a),
group_concat(distinct column_b),
count(distinct column_b),
FROM
my_table
GROUP BY
group_id
ORDER BY
count(sku) DESC;
我的表有800万行和20列。
当前,此查询的未桥接版本从未完成(至少运行20分钟)。
组id
和
sku
柱。
我的索引如下:
CREATE INDEX index_group_id ON products(group_id);
CREATE INDEX index_sku ON products(sku);
CREATE INDEX index_group_id_sku ON products(group_id,sku);
查询计划
0|0|0|SCAN TABLE products USING INDEX index_group_id_sku
组ID数
sqlite> select count(distinct group_id) from products;
6426446
sqlite> select count(sku) from products;
8395475