Я бегу эти два разных запросов, и я не понимаю, почему на первый индекс таблицы один продажи не используетсяПочему MySQL не использует индекс
EXPLAIN SELECT COUNT(`sale`.`saleId`) AS `nb`
FROM `sale`
WHERE `sale`.`saleTransactionId` IN (
SELECT `transaction`.`transactionId`
FROM `transaction`
WHERE `transaction`.`transactionId` = 87587
)
Результат
result 1 http://snag.gy/SusqF.jpg
Второй один
EXPLAIN SELECT COUNT(`sale`.`saleId`) AS `nb`
FROM `sale`
WHERE `sale`.`saleTransactionId` IN (87587)
Результат
result 2 http://snag.gy/ZgOXQ.jpg
Juste, чтобы быть уверенным
SELECT `transaction`.`transactionId`
FROM `transaction`
WHERE `transaction`.`transactionId` = 87587
возвращает Juste одну строку
saleTransactionId является INT (11), как TransactionID Обе таблицы использует MyISAM
И указательный продажа структуры
sale index structure http://snag.gy/we3HL.jpg
Спасибо!