通过搜索优化加速点查找查询¶
点查找查询是预期返回少量行的查询。搜索优化服务可以提高使用以下元素的点查找查询的性能:
相等谓词(例如
column_name = constant
)。使用 IN `)的谓词。
以下部分提供了有关点查找查询的搜索优化支持的更多信息:
为点查找查询启用搜索优化¶
除非对查询谓词引用的列启用搜索优化,否则点查找查询的性能不会得到改进。要提高对表执行点查找查询的性能,请使用 ALTER TABLE...ADD SEARCH OPTIMIZATION 命令以:
启用特定列的搜索优化。
为表的所有列启用搜索优化。
通常,最佳做法是仅针对特定列启用搜索优化。使用 ON EQUALITY 子句指定列。此示例允许对特定列进行搜索优化:
ALTER TABLE mytable ADD SEARCH OPTIMIZATION ON EQUALITY(mycol);
为所有受支持数据类型(:doc:` 半结构化 </sql-reference/data-types-semistructured>` 和 GEOGRAPHY 除外)指定 EQUALITY:
ALTER TABLE mytable ADD SEARCH OPTIMIZATION;
有关更多信息,请参阅 启用和禁用搜索优化。
支持的点查找查询示例¶
搜索优化服务可以提升以下使用等值谓词的查询性能:
SELECT * FROM test_table WHERE id = 3;
搜索优化服务支持 IN 子句:
SELECT id, c1, c2, c3
FROM test_table
WHERE id IN (2, 3)
ORDER BY id;