代码之家  ›  专栏  ›  技术社区  ›  Ice

Jet Engine的查询优化基于统计数据,但如何使用链接表刷新它们?

  •  0
  • Ice  · 技术社区  · 15 年前

    根据jet引擎优化,查询强制jet引擎从SQL Server检索数据。因此,每当SQL Server发生变化时,必须刷新ODBC链接,比如添加一个新的索引PAR示例。

    随着一些表变得越来越大,jet optimizer需要刷新统计数据,但哪个过程会这样做?是维修及保养部吗;压缩或刷新ODBC链接?这可以通过程序实现吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   heferav    15 年前

    良好的优化 决定是 在桌子上。通过在设计模式下打开链接表(ODBC)并单击索引图标,可以检查JET可以看到哪些索引。您将收到一条警告,说明这些表是只读的。

        2
  •  1
  •   David-W-Fenton    15 年前

    必须认识到,只有ODBC数据源的某些类型的表统计信息和元数据与Jet相关。总的来说,我认为从Jet决定如何处理SQL语句的角度来看,索引是唯一真正重要的部分——只要索引存在并且它了解另一端的服务器,除非您愚蠢地选择或排序了一个服务器数据库无法理解的表达式,否则它将把所有内容都交给服务器处理。在这种情况下,Jet可能仍然足够聪明,可以发送部分SQL语句供服务器处理(例如连接和文本条件),然后使用表达式返回的结果集。

    关于链接表的问题,不幸的是,没有更新ODBC链接表的动态方法——例如,将列添加到表或视图中,它将不在返回的表中,刷新链接并显示新列,但它可能是只读的。

    为了完整性起见,我将介绍Jet后端的基本功能:

    压缩前端,因为这样可以确保所有后端表统计数据尽可能准确(尽管大多数数据即使没有压缩也保持最新)。

        3
  •  0
  •   Kevin Ross    15 年前

    我有一些代码可以将access表重新链接到其他路径,我相信您可以修改这些路径以使用ODBC链接表