[SQL ] intersect 兩個查詢同一張表的結果s已刪文
資料庫名稱:Sqlite
資料庫版本:我是在DB Browser Version 3.11.2中下指令的
內容/問題描述:
我學sqlite不久,如有低級錯誤還請包涵 m(_._)m
我有一個用來存一對多關係的table,大約有700萬筆資料
gid cid
1, 2
1, 4
1, 14
2, 2
2, 15
.
.
.
今天我想查詢同時擁有譬如 cid = 2 以及 cid = 5 的gid
我的想法是
SELECT gid FROM relation WHERE tid=2
INTERSECT
SELECT gid FROM relation WHERE tid=5
結果跑了13秒才跑出結果
這對使用者的查詢來說不是一個令人滿意的速度
更何況最終我要查的cid數量可不只兩個 (intersect 3個要花20秒)
請問我該怎麼做才可以提升我的速度?
更新:
剛剛用java 的jdbc對同樣的table實作一模一樣的querry,
發現只花了2.6秒
不知道為什麼= =.....
--
當他們禁止蘿莉A漫時,我不在乎,因為我還有學生A漫
當他們禁止學生A漫時,我不在乎,因為我還有人妻A漫
當他們禁止人妻A漫時,我不在乎,因為我還有日本A片
當他們禁止日本A片時,我不在乎,因為我還有西方A片
當他們禁止西方A片時,我不在乎,因為我還可以自己幻想
最後當他們開始禁止幻想時,我連死都不被允許...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.227.117 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1569340499.A.79F.html
※ 編輯: liu2007 (123.192.227.117 臺灣), 09/24/2019 23:55:44
※ 編輯: liu2007 (123.192.227.117 臺灣), 09/24/2019 23:56:37
※ 編輯: liu2007 (123.192.227.117 臺灣), 09/25/2019 00:33:32
Database 近期熱門文章
PTT數位生活區 即時熱門文章