我有一个 Delphi 应用程序,它有 2 个TADODataSet
引用 CLIENT (Master) 和 ORDER (detail) 数据的对象。我通过 DataSource 和 Masterfields(使用 ClientCode)属性链接了 2 个组件,并且一切都按预期运行。但是,我最近注意到一个性能问题,并发现即使只为主记录集返回一条客户记录,也会返回整个订单表,然后针对特定客户进行过滤。这是它应该如何运作的吗?通过跟踪数据库活动,我可以看到正在执行以下 SQL:
-- the one client that I wanted to view
SELECT fields FROM Client WHERE ClientCode = 1;
SELECT fields from Order; -- entire orders table
我正在使用 Delphi 2006 BDS