首先,对不起我的英文。MySQL和数据库查询:排序
我有一个C++桌面应用程序,它从数据库中获取行,并且对于每一行,应用程序都会创建一个代表该行特定表的对象。每个表都有其相应的类(我使用ODB)。
一旦我恢复了表的行,我将它们显示在一个表中,可以按列进行排序。每列都有一个“排序”图标,允许根据该列对表格条目进行排序。
我的问题是,什么是质量应用程序通常做什么?每次必须对表进行排序时进行其他查询?或手动排序对象,例如,使用一个std :: set?哪个更快?
我认为使用std :: set对条目进行排序的速度更快,因为我们避免与MySQL服务器进行通信,但同时如果我们重新排序多次同一个数据库表,MySQL优化器会做一些魔术,特别是涉及指数。我认为这甚至可能取决于这些排序操作的频率。
无论如何,我想知道两种方法的优缺点。
我觉得这个问题更多地属于[programmers.stackexchange.com](http://programmers.stackexchange.com/)。 –
@SimonKraemer在提及其他网站时,指出[交叉发布令人不悦](http://meta.stackexchange.com/tags/cross-posting/info) – gnat
@gnat感谢您指出这一点。我忘了补充那部分。 –