首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySQL中的自定义排序函数

使用MySQL中的自定义排序函数
EN

Stack Overflow用户
提问于 2012-09-15 23:16:13
回答 1查看 364关注 0票数 0

当用户请求结果集时,MySQL使用quicksort对结果集进行排序。现在,平均而言,quicksort的效率为O(Nlog N),这是可以接受的(即使其最坏的情况有时可能会达到O(N^2)。现在这对于大多数情况都很好,但是假设我有一个列,比如说,pin-number,它总是有6位数。一个特定的查询会获取数百万行,并根据该键对它们进行排序。在这种情况下,radix-sort不是一个更好的选择,给出一个线性顺序吗?有没有办法(也许是写个插件之类的)引入一个新的MySQL函数,比如说myorderby,它将通过我定义的自定义基数排序,根据给定的键对结果集进行排序?其次,这种调整是否值得?

EN

回答 1

Stack Overflow用户

发布于 2012-09-16 00:10:42

您可以获取MySQL源代码并注入自己的排序函数。如果它确实更快,你甚至可以把它提交给社区。

它是否值得,取决于它所需要的努力程度。我认为通过这样的修改让MySQL运行起来是一项相当繁重的工作,而且您也希望能够轻松地进行更新。因此,除非你真的需要速度提升和/或你能够将你的排序作为未来版本的默认设置,否则我认为它是不值得的。我从来没有经历过排序成为瓶颈。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12438559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档