iT邦幫忙

0

使用 union all 和 個別查詢

請教一下

程式語言是 java
資料庫是 mssql

使用 union all 串起二段以上的 查詢語法
和 個別查詢

那一種的效能會比較好

舉個例子

mssql

select 'test1', count(*) from test1 where id = '123'
union all 
select 'test2', count(*) from test2 where id = '123'

java

for(int i = 0; i< 查詢結果筆數; i++){
    if(查詢結果第二欄 大於 1){
        message(查詢結果第一欄 已經存在資料);
    }
}

mssql
select count(*) from test1 where id = '123'

java

if(查詢結果數量大於1){
    message("test1" 已經存在資料);
}

mssql
select count(*) from test2 where id = '123'

java

if(查詢結果數量大於1){
    message("test2" 已經存在資料);
}

以上兩個範例,那一種的效能比較好

2 個回答

0
浩瀚星空
iT邦超人 1 級 ‧ 2020-09-26 21:48:22
最佳解答

認真來說,如果依照你這個範例。是要分開計算會比較好。

但如果是其它的應用。可不一定。

兩種方法在應用不同的情況下會有各自的效能優劣情況。
並沒有絕對性的說,哪一種做法比較好。

0
ckp6250
iT邦研究生 4 級 ‧ 2020-09-26 14:49:53

不一定,看資料分布情形
實測就知道了。

我要發表回答

立即登入回答