工作中遇到乙個問題,有乙個記錄數很多的大表,archive部分資料到另外乙個表。現在user輸入乙個關鍵字(查出來的記錄唯一),我們需要查詢到符合條件的整條記錄所有值。
查詢思路很簡單,先在大表裡面找,找到了就返回記錄的值,找不到就到archive裡面去查詢。
開始的時候我使用了exists,可是這樣做,會查詢大表兩次,個人感覺不太理想。
找來大家進行討論,也沒有找到比較好的辦法做到大表一次。
突然我想到乙個方法:使用臨時表。可以將查大表的結果選出來放到臨時表,之後判斷臨時表中是否存在資料,存在就直接返回,不存在就在去訪問archive表,這樣就達到了一次訪問的目的。
臨時表的用法
臨時表的用法 用法 用於複雜查詢時可以用臨時表來暫存相關記錄,能夠提高效率 提高程式的可讀性,類似於游標中的 my cursor declare my cursor cursor scroll for select 字段 from tablename 臨時表分為 使用者臨時表和系統臨時表。系統臨時表...
臨時表變數的用法
declare sql varchar 5000 begin set sql select id from address book set sql insert into table sql set sql declare table table uid int identity 1,1 id v...
Oracle臨時表的用法
oracle的臨時表在應用系統中有很大的作用,它可以讓使用者只能夠操作各自的資料中而互不干擾,不用擔心會破壞或影響其他session transaction的資料,這也是資料安全的一種解決方法。臨時表分為session transaction兩種,session級的臨時表資料在整個session都存...