新聞中心
下面的文章主要描述的是SQL Server內(nèi)嵌視圖和臨時表,以及對其相關(guān)的實際應(yīng)用代碼的描述,我們大家都知道在實際操作中的某些時候,查詢需要將數(shù)據(jù)與其他一些可能只能通過執(zhí)行 GROUP BY 然后執(zhí)行標準查詢才能收集的數(shù)據(jù)進行聯(lián)接。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、子洲ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的子洲網(wǎng)站制作公司
例如,如果要查詢***五個定單的有關(guān)信息,您首先需要知道是哪些定單。這可以使用返回定單 ID 的 SQL 查詢來檢索。此數(shù)據(jù)就會存儲在臨時表(這是一個常用技術(shù))中,然后與 Products 表進行聯(lián)接,以返回這些定單售出的產(chǎn)品數(shù)量:
- CREATE TABLE #Temp1 (OrderID INT NOT NULL, _ OrderDate DATETIME NOT NULL)
- INSERT INTO #Temp1 (OrderID, OrderDate) SELECT TOP 5 o.OrderID,
- o.OrderDate FROM Orders o ORDER BY o.OrderDate DESC SELECT p.ProductName,
- SUM(od.Quantity) AS ProductQuantity FROM #Temp1 t INNER JOIN [Order Details] od>
這些 SQL 語句會創(chuàng)建一個臨時表,將數(shù)據(jù)插入該表中,將其他數(shù)據(jù)與該表進行聯(lián)接,然后除去該臨時表。這會導(dǎo)致此查詢進行大量 I/O 操作,因此,可以重新編寫查詢,使用內(nèi)嵌視圖取代臨時表。內(nèi)嵌視圖只是一個可以聯(lián)接到 FROM 子句中的查詢。所以,您不用在 tempdb 中的臨時表上耗費大量 I/O 和磁盤訪問,而可以使用內(nèi)嵌視圖得到同樣的結(jié)果:
- SELECT p.ProductName, SUM(od.Quantity) AS ProductQuantity FROM
- ( SELECT TOP 5 o.OrderID, o.OrderDate FROM Orders o ORDER BY o.OrderDate DESC )
- t INNER JOIN [Order Details] od>
此查詢不僅比前面的查詢效率更高,而且長度更短。臨時表會消耗大量資源。如果只需要將數(shù)據(jù)聯(lián)接到其他查詢,則可以試試使用內(nèi)嵌視圖,以節(jié)省資源。
以上的相關(guān)內(nèi)容就是對SQL Server內(nèi)嵌視圖與臨時表的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對SQL Server內(nèi)嵌視圖與臨時表的描述,希望會給你帶來一些幫助在此方面。
網(wǎng)頁名稱:實現(xiàn)SQLServer內(nèi)嵌視圖和臨時表的代碼
本文URL:http://www.dlmjj.cn/article/coehppd.html


咨詢
建站咨詢
