2014-04-25 56 views
0

我有一個查詢有兩個連接(連接三個表),運行速度相當快(通常小於1ms)。如果我根據三個表中的任何一個的索引列對結果進行排序,它仍然在不到1 ms的時間內運行。但是,當我使用兩列(來自兩個不同表格)進行排序組合時,運行時間約爲240ms。SQLite ORDER BY性能問題

我是否需要類似於不同表格的列的組合索引?我認爲這是不可能的。我是否必須使用索引視圖來實現類似的目標?或者,我的設計有什麼問題嗎?

我使用SQLite的,而這也正是我的查詢看起來像:

SELECT image.title, 
     project.title, 
     video.title 
FROM image 
JOIN video ON image.video_id=video.id 
JOIN project ON project.id=video.project_id 
ORDER BY image.video_id, 
     project.title LIMIT 5000; 

回答

0

這是不可能使用索引來加快從兩個不同的表按列進行排序。

+0

我這麼認爲,我提到了這一點。但是我應該怎麼做呢?我不認爲240ms是我應該生活的東西。 – Mohsen