SQL Azure爲您提供了設置聯合SQL服務器的選項 - 例如實質上是通過一些密鑰將數據分配到多個服務器。但是,當您運行select * from order
時,它會將所有數據重新放在一起,整個過程對您的應用程序都是透明的。對聯邦SQL Server運行查詢時數據會發生什麼變化?
現在,假設我有一個存儲過程,可以自由使用臨時表。所以在這樣的情況下:
-- query uses data from each partitioned server
select tbl1.Column1, tbl2.Column2
into #tmpTable
from tbl1
join tbl2.id = tbl1.id
where tbl2.Column3 = '234'
-- also uses data from each partitioned server
select #tmpTable.*
from tbl3
join tbl3.fkey = #tmpTable.Column1
在這種情況下,數據是否每次都從一臺服務器流向主服務器?臨時表在哪裏實際存儲?所有在主箱子上,還是在聯合的之間分開?
那麼SQL Azure中不存在自動分片的整個概念? – AngryHacker
不確定你的意思是自動分片。如果你的意思是自動縮放,答案是否定的;當您需要更多容量/處理資源時,您需要監控您的成員以將其拆分。如果你指的是粉絲支持,答案是否定的...... :)目前還不支持扇出操作。但Azure是一個快速發展的環境。這些事情可能會在某個時候出現。 –