按多个字段和随机字段过滤数据,无需全表扫描

时间:2015-05-31 10:27:51

标签: php mysql ajax database

我正在桌面上创建一个过滤器。为了有效过滤,我使用多列索引方法。

假设我的表有以下字段。

   field_A  |  field_B       |  field_C   |  field_D
------------------------------------------------------
   1        |  346           |  934       |  659
   2        |  709           |  497       |  24
   3        |  835           |  853       |  73
   4        |  325           |  935       |  45
   5        |  346           |  287       |  345

如果field_A是过滤器查询中的前缀,则查询工作正常。如下面的订单工作正常。

 1. field_A
 2. field_A  field_B
 3. field_A  field_B  field_C
 4. field_A  field_B  field_C  field_D

但如果我有其他字段的组合,则索引不起作用。

  1. field_B field_D
  2. field_B field_C
  3. field_C field_D
  4. 或任何其他随机组合
  5. 我知道根据多列索引定义它工作正常。

    我想知道的是,我可以使用任何其他方法按随机顺序过滤字段而不进行全表扫描。所有字段都具有整数数据类型

0 个答案:

没有答案