【发布时间】:2022-07-20 00:31:50
【问题描述】:
[用户在YugabyteDB Community Slack上发布的问题]
以下索引是否有效,是否适合该用例?
CREATE INDEX 命令(非常棒)允许您指定是否希望索引基于散列(用于点查找)或范围。 HASH | ASC | DESC 附加到每个 index_elem(已编入索引的列)...我的阅读告诉我,可以创建一个索引,其中第一列通过哈希索引,第二列是范围? https://docs.yugabyte.com/preview/api/ysql/the-sql-language/statements/ddl_create_index/
例如:
CREATE INDEX task_queue_idx ON task_queue_entries (
task_queue_id HASH,
maturation_time ASC
) WHERE ....;
(注意task_queue_id 是HASH 和maturation_time 是ASC)
查询模式类似于
SELECT * from task_queue_entries WHERE task_queue_id = 'foo' AND maturation_time <= NOW() FOR UPDATE SKIP LOCKED LIMIT 1.
会有数千个独特的task_queue_id,task_queue_entries 表中的每个条目可能有不同的成熟时间。
【问题讨论】:
标签: yugabytedb