下面是我做的幾個SQL VIEW的測試。
效能等同於TABLE實際查詢。
利用資料庫A 查看資料庫B的資料並呈現及實現查詢等等的動作
以下是SQL圖
用一個有40萬筆資料的來呈現
步驟1
CREATE VIEW POSTVV AS select * from COSMOS_POSAA.dbo.POSTV
執行後 .. 恩速度飛快!!!!
步驟2
SELECT * FROM POSTVV
資料呈現的出來了
步驟3
檢視資料來源
SELECT * FROM COSMOS_POSAA.dbo.POSTV
與步驟2所得的結果有兩秒的落差?看起來是VIEW出來的TABLE較慢。是索引的差異嗎 針對KEY值做查詢
步驟4
SELECT TV001 FROM POSTVV WHERE TV001 ='20140429' AND TV002 ='W212100' AND TV003 = '004'
SELECT TV001 FROM COSMOS_POSAA.dbo.POSTV WHERE TV001 ='20140429' AND TV002 ='W212100' AND TV003 = '004'
POSTVV
POSTV
postv
測試後發現。應該是view的較快?實際上也沒有太大的差異。所以跑多筆一點的來看
步驟5
SELECT TV001 FROM POSTVV WHERE TV001 ='20140429' AND TV002 ='W212100' AND TV003 = '004'
SELECT TV001 FROM COSMOS_POSAA.dbo.POSTV WHERE TV001 ='20140429' AND TV002 ='W212100' AND TV003 = '004'
測試結果。兩個差不多快。
當資料庫的資料量終究無法避免超過express的時候。可以將大一點的資料表拉出來額外置放。