我需要通過具有非常低帶寬的線路從各種表中提取大量數據。我需要最大限度地減少來回發送的數據量。SQL Server 2008,Sybase - 通過低帶寬進行大量選擇查詢
在那一邊是Sybase數據庫,此方SQL Server 2008的
我需要做的是把所有從Sybase數據庫有這個辦公室做表上。可以說,我有以下表爲例:
Farm
Tree
Branch
etc.
(一個農場有許多樹木,一棵樹有許多分支等)
讓說的「農場」表有一個稱爲「CountryID場「,並且我只想要國家ID = 12的數據。我所看到的實際表結構非常複雜(我對它們也不是很熟悉),所以我想盡量保持查詢的簡單性。
所以我想設立了一系列的意見:
CREATE VIEW vw_Farm AS
SELECT * from Farm where CountryID=12
CREATE VIEW vw_Tree AS
SELECT * from Tree where FarmID in (SELECT FarmID FROM vw_Farm)
CREATE VIEW vw_Branch AS
SELECT * from Tree where BranchID in (SELECT BranchID FROM vw_Branch)
等
爲了再拉實際數據通過我會再做:
SELECT * from vw_Farm into localDb.Farm
SELECT * from vw_Tree into localDb.Tree
SELECT * from vw_Branch into localDb.Branch
等。
設置簡單。我想知道這將如何執行?它會執行Sybase方面的所有SELECT語句,然後只發回結果嗎?另外,由於這將是一個迭代過程,是否有可能爲隨後的調用索引視圖?
任何其他優化建議也將受到歡迎!
感謝
卡爾
編輯:只是爲了澄清,該意見將在SQL Server中設置。我正在使用Sybase ASE的鏈接服務器來設置這些視圖。特別讓我擔心的是,視圖是在SQL Server中而不是在這一邊的Sybase上,這意味着對於每次迭代,來自前視圖的數據將在計算之前首先被傳遞到SQL Server得到執行。我希望Sybase能夠完成所有的計算,並將結果傳遞給所有人。
嗨,Ed。你的回答中有很多壞消息,但它給了我需要找到解決方法的信息。非常感謝 – Karl 2011-02-16 06:55:51