What does Using filesort mean in MySQL?
发布时间:2020-12-12 00:02:11 所属栏目:MySql教程 来源:网络整理
导读:如果你来 直到目前为止,我已经在大量的面试中问到过这个问题,这其中包括一些很聪明的面试者,然而没有一个人能给出其正确的解释。因此我认为这可能并不是一个很好的面试问题,并且现在我想给出关于这个问题的答案。从现在开始,如果还是有人不能解释这个问
如果你来 直到目前为止,我已经在大量的面试中问到过这个问题,这其中包括一些很聪明的面试者,然而没有一个人能给出其正确的解释。因此我认为这可能并不是一个很好的面试问题,并且现在我想给出关于这个问题的答案。从现在开始,如果还是有人不能解释这个问题,那只能说明他并没有读过我的这篇博文。 人们通常给出的答案,类似于“数据行因为太大(too big)而不能放在内存当中,只能存放在临时表当中”。然而不幸的是,事实并不是这么回事。从给出的这个答案去理解,首先,使用了临时表;其次,如果临时表太大是要将其存放在硬盘上的。但是 事实上,filesort本身命名是有问题的。只要一个排序不能使用索引进行排序,那么它就是f 如果要排序的数据占用的内存的大小比排序缓存(sort buffer)大,那么一次排序就排其中的一部分。最后再将各个块的排序结果进行合并再输出。当然还有很多除此之外其它额外的工作要做。推荐你读一读 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |