gpt4 book ai didi

sql - 添加两个简单的索引来优化查询

转载 作者:行者123 更新时间:2023-11-29 14:16:02 25 4
gpt4 key购买 nike

我是 SQL 表优化方面的新手,所以我有一个简单/基本的问题;我在下面有两个 SQL 表 t1 和 t2。如果我必须添加两个简单的索引来优化查询,我应该选择哪个?为什么 ? (请详细说明)

CREATE TABLE t1 (
a int Primary Key,
b int NOT NULL,
c char(10) references t2(e),
d char(5)
);

CREATE TABLE t2 (
e char(10) Primary Key
);

SELECT a
FROM t1 JOIN
t2
ON c = e
WHERE abs(b)>50
ORDER BY d;

最佳答案

您需要在 the expression abs(b) 上建立索引因为 b 上的简单索引无济于事。

t1 上的索引也应该包含 d 以帮助排序。

t1 上的索引还应包括ac 以使其成为index-only scan。 .

t2 上的索引应包含 e1 以帮助连接,并且应由其主键满足。

CREATE INDEX bk ON t1 (abs(b), d, a, c);

那是我的尝试,但我不是 PostgreSQL 的普通用户,我还没有测试过。

关于sql - 添加两个简单的索引来优化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47801897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com