我有一个MS Access前端和MySQL后端。 Everthing运行良好,但我试图避免以下情况。 在Access窗体上,我使用它来执行读取查询。 一旦结果显示在Access表单上(excel like format),我可以对A-Z,Z-A等进行排序
事情是每次我进行任何排序时,我都可以在MySQL Administrator上看到正在执行查询(实际上不止一个)。由于显而易见的原因,我需要避免这种情况,因为我会不断地使用显示的数据进行排序和各种事情。
由于数据已经显示在客户端(Access窗体)中,因此我不会在进行排序时再次查询MySQL的原因。我希望您对查询结果所做的任何事情都会在“本地”发生。
任何想法我在做什么和做错了和/或如何避免这种想法?
感谢ind advance
答案 0 :(得分:0)
将往返回服务器进行排序非常典型。我想大多数应用程序不会从内部存储器中排序,而是再次访问数据库。如果你只有一些行,那么在本地排序可能会更快。但是如果你正在处理数百万行,那么在数据库上执行那种排序要快得多,就像它所做的那样。
为什么你不希望它进行分拣的往返?
答案 1 :(得分:0)
你的表格是否与整张桌子绑定?如果是这样,那就是设计错误。它应该仅限于有限的记录集。在这种情况下,只有一个小的查询将在服务器端执行。
其次,你可能想打开Jet SHOWPLAN(谷歌为它),看看Jet / ACE数据库引擎在优化方面做了什么。
第三,它可能正在击中服务器,但它是一个重大的打击?
最后,您可以使用分配给表单而不是绑定记录集的断开连接的记录集来获得所需的结果。这比使用默认绑定表单复杂得多,但可能是必要的。它确实使得Access的使用变得不那么令人愉快,因为合身和完成并不像传统的Access绑定表单那样流畅。