我有兩個表:什麼決定了sqlite連接中的搜索順序?
books:
id INTEGER PRIMARY KEY,
author TEXT,
title TEXT
和
favoriteBooks:
id INTEGER PRIMARY KEY,
FOREIGN KEY(id) REFERENCES books(id)
我想看看是否在喜歡的圖書存在的作者。
以下表述適用,但如果favoriteBooks的行數較少,則速度較慢,如果數量較多,則速度較快。我認爲它是因爲我正在搜索書籍中的每一行,並查看它是否位於favoriteBooks中,而不是檢查每個FavoriteBook並檢查作者。
我該如何解決這個問題?
SELECT EXISTS (
SELECT 1 FROM books b
INNER JOIN favoriteBooks f ON b.id = f.id
AND author="Some Author" LIMIT 1);
謝謝!
您聽說過索引嗎? –
我在書中有一個id索引。我需要以某種方式將它鏈接到favoriteBooks嗎? – phimath
添加索引'創建索引somename ON書(作者)'還有'創建索引somename2 ON favoriteBooks(ID)' – krokodilko