MS为简单的选择优化“自己实现查询”意味着什么?

时间:2015-08-19 09:31:24

标签: sql performance optimization sql-server-ce

在这篇关于Query Performance Tuning的Technet文章中,最后一节说明了:

  

仅在您必须

时进行查询      

SQL Server Compact查询处理器是一种用于查询存储在关系数据库中的数据的强大工具。但是,任何查询处理器都存在固有成本。它必须在开始执行计划的实际工作之前编译,优化并生成执行计划。对于快速完成的简单查询尤其如此。因此,自己实施查询有时可以提供广泛的性能改进。如果关键组件中的每毫秒计数,我们建议您考虑自己实现简单查询的替代方法。对于大型和复杂的查询,作业仍然最好留给查询处理器。

     

例如,假设您要查找按订单ID排列的一系列订单的客户ID。有两种方法可以实现这一目标。首先,您可以对每个查找执行以下步骤:

     
      
  1. 打开订单基本表
  2.   
  3. 使用特定的“订单ID”
  4. 查找行   
  5. 检索“客户ID”
  6.         

    或者您可以为每个查找发出以下查询:

         

    选择“客户ID”FROM订单WHERE“订单ID”=

         

    基于查询的解决方案比手动解决方案更简单但更慢,因为SQL Server Compact查询处理器将声明性SQL语句转换为您可以手动实现的相同三个操作。然后按顺序执行这三个步骤。您选择使用哪种方法取决于简单性或性能在您的应用中是否更重要。

此查询的“手动实现”是什么意思?我有一个简单的表格,其中包含联系信息,并希望在来电时通过电话号码查找联系人。这是为许多用户完成的,并且经常需要快速(或者,如果可能的话,优化查询,以便我获得相同的性能,但在硬件上便宜两倍,那也很好)。

0 个答案:

没有答案