簡體   English   中英

為什么 Visual Studio 中的 SQL Server 對象資源管理器這么慢?

[英]Why is SQL Server Object Explorer in Visual Studio so slow?

我剛剛在 Azure 中創建了一個新的 SQL Server 數據庫,然后使用 Azure 門戶中的鏈接在 Visual Studio 2015 中打開它。 我不得不將我的 IP 添加到防火牆,但否則過程進行得很順利。

但是,當我嘗試通過 SQL Server 對象資源管理器與數據庫服務器交互時,速度非常慢。 展開我的數據庫中的任何文件夾(例如, Tables文件夾)需要 10 到 30 秒。 該數據庫是全新的,因此它唯一擁有的是 Azure 在實例化新數據庫時創建的內容。

這是我創建並嘗試在 Visual Studio 中查看的第二個 Azure DB,兩者都存在相同的問題。 對於第一個,我想也許我在設置過程中做錯了什么,但這次我確保按照書做所有的事情。

從 Visual Studio 中對 DB 運行實際查詢(右鍵單擊 DB, New Query ...select * from INFORMATION_SCHEMA.TABLES; )非常快,因此我與 Azure 的連接似乎沒有問題。

為什么速度這么慢? 我該怎么做才能讓它更快?

我在 Windows 10(完全修補)上使用 Visual Studio 2015 Update 1 ( 14.0.24720.00 ),在創建數據庫期間我選中了該框以使用最新版本。

首次連接數據庫時,Visual Studio 中的 SQL Server 對象資源管理器 (SSDT) 會構建整個數據庫的架構模型。 這是基於模型的數據庫開發的概念,它提供了一些好處,例如針對數據庫驗證腳本而無需修改實時數據庫等。當涉及到 Azure SQL DB 時,資源受到數據庫定價層的限制,執行查詢的性能獲取數據庫模型可能會有所不同。 根據我們的性能測試,高於 S1/S2 的定價層提供了與本地或本地 SQL 實例類似的交互性。

更詳細地說,目前SSDT的機制是組合最少的查詢次數,以盡量減少與SQL服務器/數據庫的往返操作次數,因此每個查詢的執行時間更長。 它會在執行查詢時影響 SQL Server 對象資源管理器的交互性。

為了增強,SSDT 團隊正在修改 Azure SQLDB 的設計,以提供更快的交互體驗,同時保持基於模型的數據庫開發的優勢。

披露:我在 SQL Data Tools 團隊擔任 PM

@eric-kang 在他的評論中給出了使用“服務器資源管理器”而不是“SQL Server 對象資源管理器”的好提示——這對於基本數據查詢來說要好得多,因為它實際上可以實時使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM