三是日期列,oscar_alpha是整数。
我有来自Postgres的result 解释。在16行我想阻止访问表以在过滤条件中找到
Filter: ((three >= '15.04.2010 00:00'::date) AND (three <= '15.04.2016 00:00'::date) AND (oscar_alpha = 341)).
我想通过索引检查这个条件。 我创建了索引:
create index index1 on table_name (three , oscar_alpha);
create index index2 on table_name (three);
create index index3 on table_name (oscar_alpha);
但他们没有使用。
是的,有些数据是匿名的。
答案 0 :(得分:1)
您需要按此顺序在(oscar_alpha, three)
上创建复合索引。
索引按字典顺序排序,首先是第一列的值,然后是相等的,在第二列等,如电话簿:首先是姓氏,然后是姓名。
很容易从电话簿中将所有史密斯从约翰送到玛丽,但从琼斯到史密斯的所有约翰都不容易,因为这些条目首先按姓氏订购。
与您的查询相同:如果您首先在oscar_alpha
订购,则所有具有相同oscar_alpha
的值都会按three
顺序排列,并且可以应用范围条件他们。