Mysql索引搜索menchizm - 在3列上的索引,同时在查询中仅使用2

时间:2016-03-13 14:06:21

标签: mysql

我在MySQL数据库中有3列的索引(a,b,c) 当我只查询其中的2个或1个时,它是否有效? (WHERE a = 1)。
或仅在使用WHERE a = 1 AND b = 1 AND c = 1

1 个答案:

答案 0 :(得分:1)

是的,只要您按照提及的顺序对列有条件,索引就会起作用。因此,Could not load type "Doctrine\DBAL\Types\TextType" 500 Internal Server Error - InvalidArgumentException Stack Trace in vendor\symfony\symfony\src\Symfony\Component\Form\FormRegistry.php at line 87 - if (class_exists($name) && in_array('Symfony\Component\Form\FormTypeInterface', class_implements($name))) { $type = new $name(); } else { throw new InvalidArgumentException(sprintf('Could not load type "%s"', $name)); } } 将使用索引,但a = 1可能不会(除非MySQL决定覆盖索引的扫描比扫描表更快)。

MySQL文档在Multiple-Column Indexes一节中很好地解释了这一点。