У меня есть таблица, которая разделена по диапазону по id и по хешу по коду (оба являются целыми числами). 30 разделов, 4 хэшированных подразделов в каждом, всего 120.
Если я делаю выбор только по идентификатору, план объяснения показывает, что он корректно сокращается только до тех разделов и подразделов, которые с ним связаны (4)
Если я делаю выборку по идентификатору + код, план объяснения показывает, что он правильно сокращается до одного конкретного подразделения, связанного с ним (1)
ОДНАКО ...
Если я делаю выбор только по коду, план объяснения, похоже, показывает, что MySQL выполняет полное сканирование таблицы (120 разделов), вместо того, чтобы действовать как Oracle и сканировать только один подраздел каждого раздела, который будет иметь отношение 30 всего).
Должен ли я сделать что-то особенное, чтобы MySQL воспользовался возможностью сокращения подразделов, когда он не может удалить целые разделы? Или MySQL (по крайней мере, 5.1) просто не поддерживает использование преимуществ подразделов?