我有一个在C#/ ASP.NET中开发并使用SQL Server的应用程序。我现在处于可以开始使用我的应用程序的图表工具的位置。该应用程序显示的图表显示客户数据,这是1至30分钟的时间序列,可能超过12个月,因此有很多数据(有时)。我的问题是,检索和准备图表数据的最有效和最安全的方法是什么。也就是说,我希望在客户登录时准备好数据,并且我希望在客户登录查看其图表时尽可能地延迟。这是一个包含时间序列数据的简单图表,但可能有很多。
我想确保性能很好,如果我有几百个用户都在动态获取数据,我将会在数据库上遇到延迟。
我想到了,要么使用SQL服务器为图表数据创建XML文件,要么将其放入客户文件夹并定期更新。然后图表使用我可以直接将其固定到图表中的XML文件。
另一个是使用查询或存储过程直接访问数据。
你们会用什么来解决类似的问题。
答案 0 :(得分:0)
您没有指定您使用的SQL Server版本,但在SQL Server 2012中添加了FOR XML
。https://msdn.microsoft.com/en-gb/library/ms178107.aspx
我使用它来在一次往返中获取复杂的结构化数据,使用LINQ-to-SQL或EF获取相同的数据会涉及很多往返。
将数据直接选择到图表工具所需的结构中可能很困难或效率很低,但您可以在将文件保存到光盘之前使用XSLT重构数据。