兩大表求補集的方法總結

2021-08-26 11:15:04 字數 375 閱讀 1118

場景:題庫中隨機出題,使用者已經做過的題需要排除掉.

方法大概如下:

1、oracle資料庫可以直接用minus;

2、mysql資料庫需要使用left join,例如:

select q.id,q.questionguid from question as q left join (select id,questionguid from donequestion as dq1 where dq1.username='xjcco') as dq on dq.questionguid=q.questionguid where dq.id is null;

3、以上兩種方法在大表情況下效能都不是很好,我們現在自己設計的演算法相對效能要好很多。

(待加)

Django查詢集QuerySet及兩大特性

django的orm中存在查詢集的概念。查詢集,也稱查詢結果集 queryset,表示從資料庫中獲取的物件集合。當呼叫如下過濾器方法時,django會返回查詢集 而不是簡單的列表 也就意味著查詢集可以含有零個 乙個或多個過濾器。過濾器基於所給的引數限制查詢的結果。從sql的角度講,查詢集與selec...

hive兩大表關聯優化試驗

呼叫結果 call result 與銷售歷史 sale history 的join優化 call result 32億條 444g sale history 17億條 439g 總體來看,效果都不明顯 hive預設使用reduce side join,當兩個表中有乙個較小的時候可以考慮map joi...

volatile的兩大性質

一 可見性 public class public void load catch interruptedexception e 3 println,也可以跳出while迴圈 能 synchronized 可見性保證 記憶體屏障 4 shortwait 休眠納秒 休眠1秒 能 shortwait 1...