在这篇关于Query Performance Tuning的Technet文章中,最后一节说明了:
仅在您必须
时进行查询SQL Server Compact查询处理器是一种用于查询存储在关系数据库中的数据的强大工具。但是,任何查询处理器都存在固有成本。它必须在开始执行计划的实际工作之前编译,优化并生成执行计划。对于快速完成的简单查询尤其如此。因此,自己实施查询有时可以提供广泛的性能改进。如果关键组件中的每毫秒计数,我们建议您考虑自己实现简单查询的替代方法。对于大型和复杂的查询,作业仍然最好留给查询处理器。
例如,假设您要查找按订单ID排列的一系列订单的客户ID。有两种方法可以实现这一目标。首先,您可以对每个查找执行以下步骤:
- 打开订单基本表
- 使用特定的“订单ID”
查找行- 检索“客户ID”
醇>或者您可以为每个查找发出以下查询:
选择“客户ID”FROM订单WHERE“订单ID”=
基于查询的解决方案比手动解决方案更简单但更慢,因为SQL Server Compact查询处理器将声明性SQL语句转换为您可以手动实现的相同三个操作。然后按顺序执行这三个步骤。您选择使用哪种方法取决于简单性或性能在您的应用中是否更重要。
此查询的“手动实现”是什么意思?我有一个简单的表格,其中包含联系信息,并希望在来电时通过电话号码查找联系人。这是为许多用户完成的,并且经常需要快速(或者,如果可能的话,优化查询,以便我获得相同的性能,但在硬件上便宜两倍,那也很好)。