在 4.5 创建 gsi 索引中的性能
performance in 4.5 create gsi index
我有以下查询。
SELECT DailyCampaignUsage.day date, sum (ARRAY_SUM(DailyCampaignUsage.`statistics`[*].clicks)) clicks,
sum (ARRAY_SUM(DailyCampaignUsage.`statistics`[*].clicksCost)) revenue
FROM Inheritx DailyCampaignUsage
JOIN Inheritx Campaign ON KEYS ('Campaign|'||TOSTRING(DailyCampaignUsage.campaignId))
JOIN Inheritx Users on keys('User|'|| TOSTRING(Campaign.`user`))
WHERE DailyCampaignUsage._type='DailyCampaignUsage' and
DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'year')=2016
and DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'month')=5
group by DailyCampaignUsage.day
order by DailyCampaignUsage.day
我在 _type 上没有唯一的索引
喜欢
CREATE INDEX `Ottoman__type` ON `Inheritx`(`_type`)
当我 运行 以上查询时,它需要 10 秒
当我尝试创建一些索引时
CREATE INDEX `dailyCampaignUsage_type_clicks_cost` ON
`Inheritx`(_type,day,`statistics`[*].clicks,`statistics`[*].clicksCost) WHERE
`_type` = "DailyCampaignUsage" USING GSI
但是它不工作它需要更多的时间 13s。
我也使用过使用索引(dailyCampaignUsage_type_clicks_cost)
但是不行。
我应该创建哪个索引?
你能post 示例文档、EXPLAIN 输出、你有多少文档、couchbase 版本、集群设置(所有服务都在同一节点上,或使用 MDS-多维缩放)等
您可能想尝试将年、月作为索引键..
创建索引 dailyCampaignUsage_type_clicks_cost
开启
Inheritx
(_type, DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'year'), DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'month'), 天...) WHERE ...
我有以下查询。
SELECT DailyCampaignUsage.day date, sum (ARRAY_SUM(DailyCampaignUsage.`statistics`[*].clicks)) clicks,
sum (ARRAY_SUM(DailyCampaignUsage.`statistics`[*].clicksCost)) revenue
FROM Inheritx DailyCampaignUsage
JOIN Inheritx Campaign ON KEYS ('Campaign|'||TOSTRING(DailyCampaignUsage.campaignId))
JOIN Inheritx Users on keys('User|'|| TOSTRING(Campaign.`user`))
WHERE DailyCampaignUsage._type='DailyCampaignUsage' and
DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'year')=2016
and DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'month')=5
group by DailyCampaignUsage.day
order by DailyCampaignUsage.day
我在 _type 上没有唯一的索引 喜欢
CREATE INDEX `Ottoman__type` ON `Inheritx`(`_type`)
当我 运行 以上查询时,它需要 10 秒
当我尝试创建一些索引时
CREATE INDEX `dailyCampaignUsage_type_clicks_cost` ON
`Inheritx`(_type,day,`statistics`[*].clicks,`statistics`[*].clicksCost) WHERE
`_type` = "DailyCampaignUsage" USING GSI
但是它不工作它需要更多的时间 13s。 我也使用过使用索引(dailyCampaignUsage_type_clicks_cost) 但是不行。
我应该创建哪个索引?
你能post 示例文档、EXPLAIN 输出、你有多少文档、couchbase 版本、集群设置(所有服务都在同一节点上,或使用 MDS-多维缩放)等
您可能想尝试将年、月作为索引键..
创建索引 dailyCampaignUsage_type_clicks_cost
开启
Inheritx
(_type, DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'year'), DATE_PART_MILLIS(STR_TO_MILLIS(DailyCampaignUsage.day),'month'), 天...) WHERE ...