我正在使用python/django作爲編程語言/框架。我需要知道的是完全關於postgresql和索引...postgresql索引使用 - 加號和減號
對於那些使用django可能知道內容類型和Django管理日誌。但很快,管理員日誌正在記錄用戶操作。我也用它來記錄網站內執行的所有操作。所以它有1.000.000+的記錄。我使用SQL查詢來篩選結果,多數民衆贊成在這裏...
問題是,我使用兩個字段從不同的表中選擇數據。其中之一是內容類型,它存儲相關的數據庫表信息和字段索引...
其他字段是,對象id,它存儲相關對象的id,字段類型是varchar和字段是未編入索引...
使用的Examle是:
Select from django_admin_log where content_type_id=15 and object_id="12343545";
由於content_type_id = 15分我blog_texts表和相關對象的ID是12343545,我可以很容易地取得相關資料...
但是object_id沒有索引,而table有1 .000.000+記錄,像我上面寫的查詢需要大量的執行時間。
在object_id中使用索引有哪些好處和缺點。這些好處是否會比弊端大?
更新:我沒有更新管理日誌表。它只記錄所有用戶操作... 40.000-45.000記錄每天插入到表中。系統在一天中的2/3,大約15-16小時(早上到傍晚)期間真的很忙。因此,在上午8點到下午11點期間插入45.000條記錄...
因此,從這個角度來看,如果我創建索引,是否會導致數據庫過度過載?
更新2:還有一個問題。另一張帶有布爾型字段的2.000.000+記錄表。字段類似於「將其顯示」,並且與其他過濾標準一起使用。爲這樣的布爾型字段創建索引是合乎邏輯的。
二conditin是,與1.000.000記錄的表索引的布爾和日期時間字段一起...
使用索引,這兩個條件是一個好主意或沒有?
感謝您的回覆,quesstion更新... – FallenAngel 2010-11-02 12:44:38
再次更新... – FallenAngel 2010-11-02 14:20:37