我一直在读这本书,它说
数据库假定 Indexed_Col IS NOT NULL 覆盖的范围太大而无用,因此数据库不会从这种情况驱动到索引。
我承认这本书已经有 10 多年的历史了,但它已经证明了 非常有用——使用从书中收集的说明,我已经将查询速度提高了 10 倍。
此外,在运行EXPLAIN ANALYZE
上SELECT
查询,我发现没有我的指标正在使用,所有的权利,即使他们应该是。
因此,我的问题是:
假设有一个表,它有一个列,其列定义包括“NOT NULL”,并且存在一个覆盖该列的索引,该索引是否会用于该表的查询,其中该列是查询的一部分?
喜欢:
CREATE TABLE my_table(
a varchar NOT NULL
);
CREATE INDEX ix_my_table ON my_table(a);
SELECT a from my_table;
Run Code Online (Sandbox Code Playgroud)