2016-09-22 75 views
1

为了提高性能,建议删除表属性中定义的子数据表,例如参见Performance Tips To Speed up your Access 2007 Database表的OrderBy属性是否影响性能

在表中还有另一个名称为OrderBy的属性。有谁知道这个属性是否也影响使用表的查询,表单和报表的性能,还是仅仅在从表中直接查看记录时才使用?

+0

[按顺序]执行,数据库引擎必须执行和暂时获取结果和然后按顺序执行,然后将结果集提取给用户..所以是的,这需要一些额外的时间! –

+0

是的,但我们如何知道Access在表中包含查询时执行orderby? OrderBy也许只有在直接查看表格时才会使用。 –

+0

AFAIK,SQL语言与Quantum理论不兼容,其中一个人的“观察影响事件的状态”:) :) 想这样,你有一个子查询,通过order by来获得最近的5条记录。如果数据库引擎没有执行[按顺序],你会得到完全不同的结果集。 –

回答

1

当您在界面中打开表格时,表格对象的OrderBy属性主要用于应用默认排序。它不适用于涉及此表的查询。

从官方文档OrderBy Property

注:当创建一个新的对象,它继承了记录来源,筛选, 排序依据,并表的OrderByOn属性或查询它从创建 。 对于窗体和报表,继承过滤器不会自动在打开对象时应用

所以,当您创建报表或表单,如果记录源是在其上定义的排序依据,报表或表格将继承这个特定的排序依据值表:

  • 如果你不”触摸对象的OrderBy属性,是的,它会影响性能,因为自动继承的OrderBy将会持续。

  • 如果您手动删除在创建对象时自动继承的OrderBy属性值,否则不会影响性能,因为OrderBy将会消失。

对于查询这是不同的,因为你会看到排序依据的SQL或查询界面,你可以直接将其删除