sale_internals_basket.*
FROM
b_sale_basket sale_internals_basket
WHERE
sale_internals_basket.FUSER_ID = 2978617
AND sale_internals_basket.LID = 's1'
AND (
sale_internals_basket.ORDER_ID IS NULL
OR sale_internals_basket.ORDER_ID = 0
)
т.к. ORDER_ID используется в конструкции с OR, индекс по полю ORDER_ID не используется. В итоге получаем очень медленные запросы у пользователей у которых было много заказов. Кто сталкивался и как решали? Не хочется ломать ядро...
Официальный мануал по mysql еще версии 5.5: "You can add an index on a column that can have NULL values if you are using the MyISAM, InnoDB, or MEMORY storage engine" Если бы речь шла про Оракл - я бы согласился с вами
Используем последнюю перкону, Делаю Explain без OR - индекс используется, с OR - нет
перкона - это отдельный разговор
Хотите сказать с переходом на нативный Мускуль эта проблема должна пропасть?
я хочу сказать, что привел цитату из официальной документации.
Обсуждают сегодня