0
我有40個表 - 表1,表2,表3,表40,全部具有相同的列。 這些表格包含不同的數據,並確定每個表格的數據,我有一列Reporting_Type
其中每個表格具有不同的值。在SQL Server中全部聯合查看性能問題
例如:Reporting_Type
列的Table1
的值爲Reportin_Type1
等等。
請注意,每個表格包含2-3萬條記錄。
我需要創建一個視圖,它結合了所有表中的數據。
我只是應用於UNION ALL,把下面的查詢:
CREATE VIEW ALL DATA
AS
SELECT
COLUMN1, COLUMN2, COLUMN3, REPORTING_TYPE ..., COLUMN 40
FROM
TABLE1
UNION ALL
SELECT
COLUMN1, COLUMN2, COLUMN3, REPORTING_TYPE ..., COLUMN 40
FROM
TABLE2
UNION ALL
SELECT
COLUMN1, COLUMN2, COLUMN3, REPORTING_TYPE ..., COLUMN 40
FROM
TABLE3
....
SELECT
COLUMN1, COLUMN2, COLUMN3, REPORTING_TYPE ..., COLUMN 40
FROM
TABLE40
上面的查詢需要大量的時間來從所有表獲取數據。
任何請建議任何性能調諧查詢或任何其他方式來創建此視圖在SQL Server 2012中?
道歉,如果有人發現這個問題太天真。我是數據庫新手。請讓我知道是否需要更多信息。
解釋做這個表有什麼索引? – gofr1
@ gofr1。不,先生。他們沒有任何索引。 – Harsh
這可能是一個問題。考慮添加索引。另外'髒讀'可能會有所幫助。在運行視圖時嘗試使用表提示WITH WITH(NOLOCK)(f.e.'FROM TABLE40 WITH(NOLOCK)')或添加'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED'。還要看看索引視圖([msdn](https://msdn.microsoft.com/en-us/library/dd171921(v = SQL.100).aspx)) – gofr1