我正在使用 phpMyAdmin 创建表格,并希望将两个不同的列定义为索引。我不是要创建多列索引,但 phpMyAdmin 会这样创建它们。这有什么可能的问题吗?这些字段彼此不直接相关,并且这两个字段不会同时在 WHERE
子句中使用。
考虑:
ALTER TABLE `documents` ADD INDEX (`offer_number`, `contract_number`);
和:
ALTER TABLE `documents` ADD INDEX (`offer_number`);
ALTER TABLE `documents` ADD INDEX (`contract_number`);
有什么区别?
最佳答案
如果索引的第一列与查询中使用的列匹配,MySQL 只能使用索引。换句话说,如果您执行的查询可以使用 contract_number
上的索引,则不会使用复合索引,因为 contract_number
不是该键中的第一列.但是,复合索引可用于使用 offer_number
的查询。
关于mysql - phpMyAdmin 想要添加多个索引作为一个多列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3985641/