排序时避免从Access中重新查询mysql数据库
我有一个MS Access前端和MySQL后端。 一切运行良好,但我试图避免以下情况。 在Access窗体上,我使用它进行读取查询。 一旦结果显示在Access表单(类似excel的格式)上,我就可以对A-Z、Z-A等进行排序 问题是,每次我进行排序时,我都可以在MySQL Administrator上看到正在执行一个查询(实际上不止一个)。出于显而易见的原因,我需要避免这样做,因为我的用户会不断地对显示的数据进行排序和各种各样的操作 由于数据已经显示在客户端(访问表单),我不理解在排序时再次查询MySQL的原因。我希望您对查询结果所做的任何操作都将“在本地”进行 你知道我在做什么、做错什么和/或如何避免这种情况吗排序时避免从Access中重新查询mysql数据库,mysql,ms-access,sorting,Mysql,Ms Access,Sorting,我有一个MS Access前端和MySQL后端。 一切运行良好,但我试图避免以下情况。 在Access窗体上,我使用它进行读取查询。 一旦结果显示在Access表单(类似excel的格式)上,我就可以对A-Z、Z-A等进行排序 问题是,每次我进行排序时,我都可以在MySQL Administrator上看到正在执行一个查询(实际上不止一个)。出于显而易见的原因,我需要避免这样做,因为我的用户会不断地对显示的数据进行排序和各种各样的操作 由于数据已经显示在客户端(访问表单),我不理解在排序时再次查
感谢ind advance这是返回服务器进行排序的典型方式。我想大多数应用程序不会从内存排序,而是再次访问数据库。如果您只有少数几行,本地排序可能会更快。但是,如果您处理的是数百万行,那么在db上执行这种排序会快得多,因为这就是它的用途
为什么不希望它往返排序?您的表单是否绑定到整个表?如果是这样,那就是设计错误。它应该只绑定到有限的记录集。在这种情况下,服务器端只执行一个小查询 其次,您可能想打开Jet SHOWPLAN(谷歌搜索),看看Jet/ACE db引擎在优化方面做了什么 第三,它可能会影响服务器,但这是否是一个重大影响 最后,通过使用分配给窗体的断开连接的记录集而不是绑定的记录集,可以获得所需的结果。这比使用默认绑定表单复杂得多,但可能是必要的。它确实使使用Access变得不那么令人愉快,因为贴合感和光洁度远不如传统Access绑定形式那么平滑