亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

程序架構探討—001 多段select語句的方案

發布時間:2020-07-02 12:49:44 來源:網絡 閱讀:261 作者:yangyoushan 欄目:開發技術

有時候,我們需要做多條件查詢,多個條件為“或”的關系,分類查詢等,一般會用到多段select語句,然后用union或者union all進行連接,進而查出需要的結果。

例如,

select 

a.id as id,

a.name as name,

a.age as age

from scama.table_name2 a

where 1=1


union all


select 

b.sn as id,

b.name as name,

b.age as age

from scama.table_name2 b

where 1=2


union all


select 

c.serial_id as id,

c.name as name,

c.age as age

from scama.table_name3 c

where 1=3

;

此時程序實現時,存在不少的麻煩。例如,大段的相似的sql容易出錯,后續的維護的不方便,以及如果程序拼接了sql后傳遞給數據庫執行帶來的性能問題等等。

那么如何進行更好的改進實現呢?

方式有很多,博主根據自己的經驗提供如下兩種方案可供參考。

1、將各段查詢語句,分開調用

將每段select單獨寫方法調用,最后再將每個調用的結果匯總為結果。

例如,

datatable dt1= 調用第一段的sql的結果;

datatable dt2= 調用第二段的sql的結果;

...

依次查詢完成,最后合并dt1,dt2....

這種方案針對前臺程序將sql拼接為字符串,通過程序本身框架內實現的與數據庫的連接方式,執行sql語句。


2、后臺完成,將查詢的結果寫入臨時表或者中間表,直接查詢該表的結果

即,使用存儲過程或者函數,將需要查詢的多條sql語句插入至一張臨時表(物理表也可),然后返回結果。

這種方式,因為是在數據庫中完成,那么有些需要查詢的字段,就可以單獨寫語句查詢出來再賦值給當前結果。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普陀区| 布尔津县| 临夏县| 泰兴市| 漳浦县| 南投县| 师宗县| 平乐县| 苏尼特右旗| 西贡区| 鹿邑县| 东宁县| 区。| 苗栗市| 连云港市| 崇义县| 陇南市| 武乡县| 赣榆县| 云浮市| 揭东县| 巴塘县| 海淀区| 象山县| 鄂温| 二手房| 随州市| 从江县| 安龙县| 梓潼县| 通江县| 桃江县| 左权县| 合作市| 京山县| 包头市| 龙陵县| 七台河市| 望奎县| 云浮市| 怀柔区|