我有两张table
CREATE TABLE profile (
id BIGSERIAL PRIMARY KEY,
nickname VARCHAR,
registered_at TIMESTAMP
);
CREATE TABLE post (
id BIGSERIAL PRIMARY KEY,
owner_id BIGINT REFERENCES profile(id),
body TEXT,
inserted_at TIMESTAMP,
likes_count INT
);
索引
CREATE INDEX ON post (owner_id);
和查询
SELECT * FROM post WHERE likes_count = ? AND owner_id = ?
索引是否将在查询中使用?
1条答案
按热度按时间yzuktlbb1#
假设这是MSSQL(看起来像),那么是的。
一般来说,大多数数据库引擎应该利用owner_id上的索引来限制在扫描likes_count标准之前为select返回的行,但这并不能保证,因为它高度依赖于RDS实现。
话虽如此,对于这些问题,最好的办法是在您正在使用的任何RDS平台上查看执行计划--这将直接回答您的问题,并且专门针对您正在使用的平台。