1

我有一个数据库,其中一个常见查询是“blobCol 为空”,我认为这会导致性能下降(如在全表扫描中)。我不需要索引 blobCol 的内容。

哪些指标可以改善这一点?是否可以在表达式(blobCol 不为空)而不只是列上构建索引?

4

2 回答 2

2

是的,大多数 DBMS 都支持它,例如在PostgreSQL

CREATE INDEX notNullblob ON myTable (blobCol is not NULL);

似乎您可以在 SQL Server 上做的最好的事情是创建一个计算列,例如,如果 blob 为空,则包含 1,否则为 0,并在其上创建索引。

于 2008-11-10T23:44:06.150 回答
1

一些数据库允许对表达式进行索引,但普通索引应该会显着减少查询的运行时间。

于 2008-11-10T23:43:02.313 回答