繁体   English   中英

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

[英]SQL - Better Performance vith a View

我在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等-代替?

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

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

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

对于相同的数据模型,请使用相同的表。 多个表格或视图设计不佳,

  • 您应该查看执行计划,并创建必要的索引,
  • 使用表索引进行性能调整后,可以使用索引视图, https: //msdn.microsoft.com/zh-cn/library/ms191432( v = sql.120) .aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM