Очередь приоритетов MySQL и упакованные дополнения - PullRequest
0 голосов
/ 12 октября 2018

Исходный код MySQL 5.7,

При сортировке с использованием приоритетной очереди мы не можем использовать упакованные дополнения.Без PQ мы можем попробовать.

Q: Почему MySQL 5.7 не использует упакованные дополнения во время очереди приоритетов?

1 Ответ

0 голосов
/ 12 октября 2018

Идея упаковки записи заключается в ограничении памяти, которую использует, например, пустая varchar(10000).Но в худшем случае (например, varchar, использующий максимальную длину), для упакованной записи может потребоваться больше места, чем для неупакованной.

Для сортировки очереди с приоритетом память выделяется в начале, и, посколькуон должен иметь возможность хранить запись наихудшего случая, нет смысла его упаковывать, поэтому он не используется.И в этот момент в коде он фактически не может быть использован , поскольку текущая реализация и остальная часть кода ожидают, что эти записи по уважительной причине будут распакованы (например, очередь выделила меньше памяти, чем требовалось)для худших упакованных записей).

...