首页 > 多个同级非必选筛选条件下,如何设计表可以建立最小数量的索引

多个同级非必选筛选条件下,如何设计表可以建立最小数量的索引

考虑这样一张表:

id,a,b 三个字段,id是主键

存在的查询条件有:

  1. a=1

  2. a=1 and b=1

  3. b=1

  4. 无条件

这种场景,
建索引(a,b)的话可以支持1跟2,但是不支持3
建索引(b,a)的话可以支持2跟3,但是不支持1

如果扩展成n个同级别的筛选条件,则需要建O(n^2)个索引

有没好的设计思路?

举个例子:


字段区分度越大的优先在最左。
你那些条件 大部分都是可以枚举的。

【热门文章】
【热门文章】