Только для одного запроса создайте индекс со всеми затронутыми столбцами.
Индексы MySQL работают слева направо, что означает, что если у вас есть таблица со столбцами:
A varchar(255)
B varchar(50)
C int(11)
D datetime
Индекс на KEY index (A,B,C,D)
означает, что MySQL будет искать столбцы в вашем запросе слева направо.Если вы включите их все в свой запрос, он будет использовать их все, но если вы включите только A
и B
, он будет использовать их для фильтрации результатов перед применением остальных условий к оставшемуся набору результатов (при условии, чтовы используете AND
).
Однако, если вы включите только C
и D
, он вообще не будет использовать этот индекс, поскольку не знает, что искать в A
.