SQL - 通过视图获得更好的性能

时间:2016-02-25 08:22:04

标签: sql sql-server performance sql-server-2008 views

我在SQL Server 2014上运行,并且有一个与包含订单的表相关的Customer表。 Order表具有例如500.000行 - 对于5个客户中的每一个具有100.000行。因此,当查找特定客户的特定日期的所有订单时,SQL将是

Select * 
from Orders 
Where idCustomer = 1 
  and OrderDate = '20160225'

此查询应查看500.000条记录以查找相关订单。

为性能创建5个视图,每个客户的视图然后查询视图会更好吗?

Select *
from View_Orders_Customer1 
Where OrderDate = '20160225'

或者我必须创建5个表Order_Customer1Order_Customer2等 - 而不是??

2 个答案:

答案 0 :(得分:0)

我不建议为每个客户创建视图..但您可以在表http://www.w3schools.com/sql/sql_create_index.asp中添加索引

您还可以在视图上添加索引以增强选择性能 https://technet.microsoft.com/en-us/library/ms187864(v=sql.105).aspx

我的表包含超过700,000条记录,并且在表格和视图中应用索引非常有帮助

答案 1 :(得分:0)

对于相同的数据模型,请使用相同的表格。不止一个表或视图不是好设计,