2010-11-13 94 views
2

是否有任何替代比SELECT DISTINCT項目FROM DB更快嗎?

SELECT DISTINCT item FROM DB 

我已經嘗試:

SELECT item FROM DB group by item 

表是沒有那麼大(30,000行),但這個命令需要近6秒即可完成。另一方面,其他查詢執行得非常快(0.2秒)。

可能會發生什麼?建議?

順便說一句,這是我如何在我的程序中使用它:

BDD.addItems([r[0] for r in cursor.execute("SELECT DISTINCT commodity FROM DB")]) 

回答

9

確保有在不同的列

+0

0.1119 SECONDS!謝謝! – relima 2010-11-13 20:36:59

0

0.1的指數是太多。

對於資源關鍵型查詢,您不應該使用distinct
您必須對數據庫進行規範化處理,將任何項目存儲在單獨的表中,而僅在原始表中保留指向它們的鏈接。

並從這張表中統計這些項目。正確索引,它將需要小於0.01