gpt4 book ai didi

sql - 我有一个相当大的表,需要获取行 `where column_a <> column_b` ,我需要什么样的索引?

转载 作者:行者123 更新时间:2023-11-29 12:35:27 25 4
gpt4 key购买 nike

我有一个相当大的表(约 100M 行)并且该表有两个 boolean 列。我们称它们为 ab。我想获取所有 a 不等于 b 的行:

SELECT *
FROM table
WHERE a <> b

为此,我是否需要两个索引,一个在 a 上,一个在 b 上,还是在 (a, b) 上创建一个复合索引> 也在这里工作?

我正在使用 PostgreSQL 9.6,很快就会升级到 10.1。

最佳答案

几乎没有索引可以帮助这个查询。如果您碰巧知道 a 通常等于 b,那么您可以在表达式上有一个索引。但是,通常不推荐 bool 值索引。而且,这些值在大多数情况下必须相等——想想 90% 的时间或 99% 的时间。

关于sql - 我有一个相当大的表,需要获取行 `where column_a <> column_b` ,我需要什么样的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48686462/

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