sql 如何用臨時表優化效能

2025-03-04 08:55:31 字數 2893 閱讀 2030

1樓:網友

具體問題是需要除錯一下才可以確定的。

但是大體判斷的方法個人認為,只要是用到臨時表的查詢,應該都是複雜一些的查詢。

然後如果某乙個查詢,按邏輯來講,需要先查詢出某一結果集,然後對這個結果集再進行復雜處理,那這樣的話,用乙個臨時表,先查詢出這伍圓部分資料,然後在臨時表的基礎上再查詢,這樣是可以提高效率的。

舉個例子,比如有一張業務表,裡面有很多年的資料。然後現在簡橘大需要對2013年一季度的資料進行分析,需要對2013年一季度的資料進行多個維度的彙總查詢,這樣的話,那就先用乙個臨時表,查詢出2013年的資料放入,然後對臨時表再進行各種彙總,攔豎一般來講會提高效率的。

sql中用臨時表 或 建立檢視那個效率比較快!

2樓:匿名使用者

1,存在方式:

臨時存在於 伺服器記憶體中。

檢視 無存在形式。

2, 生命週期:

臨時表 sql服務關閉就消失。

檢視 你不刪它就不會消失。

3,用途。臨時表 經常作為 中間轉接層。

檢視 作為物理表的視窗。

4,效率。臨時表因為在快取中,所以執行效率比較高。

檢視 效率一般,但是節省i/o操作,節約資源5,在儲存過程使用時:

臨時表,效率很高{可能是資料量少,再加上臨時表是在快取中,所以執行效率高}

檢視 一般。

3樓:匿名使用者

經常訪問的話當然是建立檢視好了 臨時表是用一次建立一次 肯定要慢些的。

sql中用臨時表 或 建立檢視那個效率比較快!

4樓:鄔元修尚嫻

1,存在方式:

臨時存在於。

伺服器記憶體中。

檢視無存在形式。

2,生命週期:

臨時表sql服務關閉就消失。

檢視你不刪它就不會消失。

3,用途。臨時表經常作為。

中間轉接層。

檢視作為物理表的視窗。

4,效率。臨時表因為在快取中,所以執行效率比較高。

檢視效率一般,但是節省i/o操作,節約資源5,在儲存過程使用時:

臨時表,效率很高{可能是資料量少,再加上臨時表是在快取中,所以執行效率高}

檢視一般。

5樓:冷付友光詩

每次執行檢視的語句時sql會產生乙個新的臨時表。

而直接用臨時表的話,sql會暫時儲存到tempdb裡,直到會話結束。

所以如果你要速度當然選臨時表,你要資料的及時性當然選檢視。

6樓:瀧青芬傅雪

經常訪問的話當然是建立檢視好了。

臨時表是用一次建立一次。

肯定要慢些的。

寫了乙個sql語句,不使用臨時表執行了2分鐘,使用臨時表不到1秒,我想知道臨時表是如何提高執行效率的?

7樓:網友

臨時表是把你需要的資料查詢出來後,載入在記憶體裡的,用了就拿出來,不用了就放在那,不過佔用記憶體。

8樓:網友

學過計算機原理沒、就好比cache快取記憶體、

臨時表不真正儲存資料、只是臨時直接分配一塊空間、直接在裡面進行執行。

用什麼方法能優化下面sql語句的效率?查詢出來一分多鐘,太慢了。拆分成臨時表有用嗎?

9樓:

這麼多left join 和inner join 不慢才怪。。 首先,你這些關聯欄位都設定了索引麼? 你這表關聯識別出了哪些是大表,哪些是小表麼?

如何讓有臨時表的sql語句執行計劃效率高

10樓:網友

用資料庫自帶的預估計劃耗時這個玩意兒,看看你哪一步耗時最長,將耗時長的,修修改改,修到你能接受。

如何讓有臨時表的sql語句執行計劃效率高

11樓:網友

這要看臨時表的數手肢臘據量啊,如果你臨時表很大,採用何種執行計劃都一樣慢的,難道資料大的時候,你對臨時表索引嗎 這樣也不現飢做實啊 ,所以根本問題還是從業務層面限制臨畢滑時表的資料量。

sql查詢效率,用臨時表 就失去索引 之間如何權衡,最好多舉例例,,:) 越來越矛盾sql

12樓:網友

你有什麼具體的設計問題嗎?

一般情況下,看不出這兩者之間有什麼需要權衡的。

1. 臨時表上可以建索引。

2. 臨時表的作用通常是暫存少量的查詢結果,而這些結果通常是通過各種索引搜出來的。

13樓:網友

臨時表上 可以使用索引。

為何要權衡?

臨時表才不可以。。

看這文章。

14樓:網友

主要根據資料多少來定,書上說的,是大量資料,當大於15%時,走索引更效率,不然就是遍歷效率!

15樓:無所謂

臨時一般用於存放經過一次加工處理後的結果,該結果往往資料量較少,並有可能需要二次加工。

如果用臨時表存放大量的資料,並通過臨時表去做查詢,我個人覺得不是很合適。

16樓:網友

去csdn sql 板塊提問 這個問題幾句話說不清。

sql 臨時表建立索引會提高效率嗎?

17樓:sql的藝術

只要你索引設定合理,當然會提公升效率,其實臨時表你也可以理解為儲存在tempdb資料庫中的物理表。

我在做複雜業務流程處理時,經常用到臨時表,這樣就能避免對原始大資料表的頻繁檢索,明顯對速度有提公升。

sql儲存過程中如何插入使用臨時表

在儲存過程中 是不可以建立臨時表的.建議使用表變數代替臨時表進行操作 或者在儲存過程外面建好臨時表 祝你好運 可以使用如下方法 declare sql varchar 2000 begin set sql select into tmp from student print sql exec sql...

如何用SQL語句將表中兩個欄位相同的記錄取出

假設表1為table1 表2為table2 select a.col from select column name colfrom user tab columns where table name table1 a,select column name colfrom user tab colu...

通過sql欄位查型別,sql如何查某個表某個欄位的資料型別?

要從系統表中查詢了。select a.name as column b.name as type from syscolumns a,systypes b where a.id object id 表名 and a.xtype b.xtype 把 表名 替換成你要檢視欄位 型別的專表名,屬比如你要檢...