MySQL优先级队列和打包的插件

时间:2018-10-12 06:54:53

标签: mysql mysql-workbench mysql-5.7 mysql-5.6

从MySQL 5.7源代码开始,

  

使用优先级队列排序时,我们不能使用打包的插件。   没有PQ,我们可以尝试。

问:为什么MySQL 5.7在优先级队列中不使用打包的插件?

1 个答案:

答案 0 :(得分:0)

打包记录的想法是限制内存,例如空varchar(10000)使用。但是在最坏的情况下(例如,使用最大长度的varchar),打包记录实际上可能比未打包记录需要更多的空间。

对于优先级队列排序,内存是在开始时分配的,并且由于它必须能够保存最坏情况的记录,因此没有必要打包,因此不使用它。到了那时,由于当前实现和代码的其余部分希望这些记录被解压缩(例如,队列分配的内存少于最坏情况下的打包记录所需)。