在本地存储表的高速缓存副本SQL Server

问题描述:

  • 是否可以在本地存储表数据的高速缓存副本以避免传输(数据不会更改,我敢保证!)SQL Server。那么C++, C#可以知道SQL存储在缓存中的数据,然后读取缓存中的数据并用表计算一些东西?在本地存储表的高速缓存副本SQL Server

  • SQL Server and C++ or C#通过表数据的缓存存储器副本可以进行这种通信吗?

    • 如果这是可能的,将有什么步骤?
+0

你看过DataSets了吗? http://msdn.microsoft.com/en-us/library/system.data.dataset%28v=vs.71%29.aspx – Rich 2011-06-06 19:09:39

+0

mmm,不知道这是否可能,但是,所有这些都可以在DBMS内部(SQL Server)?还有,如果使用DataSets,在表扫描之后,是否可以将所有微积分保存在内存或缓存中? – cMinor 2011-06-06 19:12:10

ADO.You需要使用ADO.NET(断开)数据集:

1)创建一个数据集

DataSet dsCustomers = new DataSet(); 

2)创建一个DataAdapter,指定什么样的数据来获得

SqlDataAdapter daCustomers = new SqlDataAdapter(
    "select CustomerID, CompanyName from Customers", conn); 

3)填充数据集

daCustomers.Fill(dsCustomers, "Customers"); 

之后您可以查询您的数据集。

+0

是否有可能,即SQL表已经在内存中,访问它只读内存?,这样可以避免再次读表,只是内存 – cMinor 2011-06-06 19:31:25

+0

这将表读入内存。你只得到一次。 – Amy 2011-06-06 19:33:16

+0

SQL Server不允许您直接访问表(在内存或磁盘中)。你需要通过SQL驱动程序。数据集在内存结构中,所以唯一的方法是将所有的SQL数据一次写入这些内存结构中,然后查询它们(假设你的表数据不会像你提到的那样改变)。 – Akhil 2011-06-06 19:34:28