Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
排序时避免从Access中重新查询mysql数据库_Mysql_Ms Access_Sorting - Fatal编程技术网

排序时避免从Access中重新查询mysql数据库

排序时避免从Access中重新查询mysql数据库,mysql,ms-access,sorting,Mysql,Ms Access,Sorting,我有一个MS Access前端和MySQL后端。 一切运行良好,但我试图避免以下情况。 在Access窗体上,我使用它进行读取查询。 一旦结果显示在Access表单(类似excel的格式)上,我就可以对A-Z、Z-A等进行排序 问题是,每次我进行排序时,我都可以在MySQL Administrator上看到正在执行一个查询(实际上不止一个)。出于显而易见的原因,我需要避免这样做,因为我的用户会不断地对显示的数据进行排序和各种各样的操作 由于数据已经显示在客户端(访问表单),我不理解在排序时再次查

我有一个MS Access前端和MySQL后端。 一切运行良好,但我试图避免以下情况。 在Access窗体上,我使用它进行读取查询。 一旦结果显示在Access表单(类似excel的格式)上,我就可以对A-Z、Z-A等进行排序

问题是,每次我进行排序时,我都可以在MySQL Administrator上看到正在执行一个查询(实际上不止一个)。出于显而易见的原因,我需要避免这样做,因为我的用户会不断地对显示的数据进行排序和各种各样的操作

由于数据已经显示在客户端(访问表单),我不理解在排序时再次查询MySQL的原因。我希望您对查询结果所做的任何操作都将“在本地”进行

你知道我在做什么、做错什么和/或如何避免这种情况吗


感谢ind advance

这是返回服务器进行排序的典型方式。我想大多数应用程序不会从内存排序,而是再次访问数据库。如果您只有少数几行,本地排序可能会更快。但是,如果您处理的是数百万行,那么在db上执行这种排序会快得多,因为这就是它的用途


为什么不希望它往返排序?

您的表单是否绑定到整个表?如果是这样,那就是设计错误。它应该只绑定到有限的记录集。在这种情况下,服务器端只执行一个小查询

其次,您可能想打开Jet SHOWPLAN(谷歌搜索),看看Jet/ACE db引擎在优化方面做了什么

第三,它可能会影响服务器,但这是否是一个重大影响

最后,通过使用分配给窗体的断开连接的记录集而不是绑定的记录集,可以获得所需的结果。这比使用默认绑定表单复杂得多,但可能是必要的。它确实使使用Access变得不那么令人愉快,因为贴合感和光洁度远不如传统Access绑定形式那么平滑