2011-06-06 97 views
0
  • 是否可以在本地存儲表數據的高速緩存副本以避免傳輸(數據不會更改,我敢保證!)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

回答

1

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