gpt4 book ai didi

sql - 索引二进制列会提高 SQL WHERE BETWEEN 语句的性能吗?

转载 作者:行者123 更新时间:2023-12-04 14:26:43 24 4
gpt4 key购买 nike

我有一个表,其中有一个表示 IP 地址数据的二进制列。其中一个查询对该二进制列执行 BETWEEN 比较。

如果我索引该列,SQL 语句中 BETWEEN 比较的性能会提高吗?

最佳答案

在这个例子中...

SELECT * FROM MyTable WHERE BinaryCol BETWEEN x and y
  • SELECT * 可能意味着索引被忽略,尤其是当 x/y 覆盖表的大部分时
  • 如果 x/y 非常有选择性,那么它会导致 bookmark/RID lookup (especially SQL Server)到聚集索引。
  • 这仅适用于 BinaryCol 上的索引,或者如果它被覆盖

这个例子是……

SELECT BinaryCol, AnotherCol, YetAnotherCol FROM MyTable WHERE BinaryCol BETWEEN x and y
  • 包含 AnotherCol 和 YetAnotherCol 的 BinaryCol 索引将为 covered并且很有可能会使用该索引
  • 如果 x/y 覆盖了表格的很大一部分,那么可能不会

不幸的是,“这取决于”

关于sql - 索引二进制列会提高 SQL WHERE BETWEEN 语句的性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611235/

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