如何在MYSQL中的两个字段上创建索引
目前我有一个MYSQL查询正在执行中。我需要在查询中的两个字段上创建索引:cancel和complete。 执行此操作的最佳方式是什么如何在MYSQL中的两个字段上创建索引,mysql,Mysql,目前我有一个MYSQL查询正在执行中。我需要在查询中的两个字段上创建索引:cancel和complete。 执行此操作的最佳方式是什么 从表中选择*取消!='CANCEL'和complete在'complete'和'take_BACK'中创建多列索引,但不包括括号中的列名 ALTER TABLE table ADD INDEX (cancel, complete); 这相当于 CREATE INDEX table_cancel_complete_ix ON table (cancel, com
从表中选择*取消!='CANCEL'和complete在'complete'和'take_BACK'中创建多列索引,但不包括括号中的列名
ALTER TABLE table
ADD INDEX (cancel, complete);
这相当于
CREATE INDEX table_cancel_complete_ix
ON table (cancel, complete);
创建索引要求您为索引指定一个名称,对于ALTER TABLE它是可选的,它将被指定一个默认名称。要在多个列或复合索引上添加索引,请使用以下语法:
ALTER TABLE your_table
ADD INDEX (cancel, complete);
但是,您可能希望确保这是您的陈述表现不佳的原因。查看以深入了解这一点。我如何将其应用于上述选择?这是自动完成的。如果索引存在,MySQL将尽可能使用它。或者更确切地说,如果我想先取消索引,然后完成,该怎么办?这是我定义的索引的顺序。如果需要,可以将其反转。如果只查找其前缀,则将使用索引,因此如果只在查询中指定“取消”,则将使用上述索引,但如果只查找“完成”,则不会使用上述索引。