跟蹤索引並分析索引添加的表,我們遇到一些情況: 我們的一些表有索引,但是當我在索引字段上使用where
子句執行查詢時,你的idx_scan字段各自。同樣的relname和schemaname,所以我沒有錯。索引未使用Postgres
測試更多,我刪除並重新創建表,之後該查詢返回的佔idx_scan
。
與其他表一樣,我們執行了一些帶索引的查詢,但沒有對idx_scan字段進行帳戶處理,僅在seq_scan中,即使我在與索引相同的表中創建另一個字段,此新字段也不計算idx_scan 。
這些表格有什麼問題?我們做錯了什麼?只有當我創建了一個新的表,其中包含idx_scan中的索引時,只是在舊錶中有錯誤。 我們有時會用這個數據庫做遷移,也許這可能是問題所在?發生在本地主機和服務器在線。
另一個我們看到的事件,一些索引被記錄,idx_scan> 0,並且當執行query select時,不會再次增加idx_scan,這個數字是固定的,只是增加seq_scan。 我相信這些問題可以相關。
我很欣賞一些幫助,這是一個很大的謎竄來竄去我們的數據庫,而且不知道這個問題可能是什麼。
Postgres的可能不會使用索引。 –
最常見的原因是,在對錶進行大量插入/刪除操作後,分析尚未運行。出於這個原因,我不得不在數據構建過程中明確地運行分析。 –
我同意你的意見,邁克,說出你的意思。而且我對盧卡斯所說的並不是很瞭解,包括我的表格後需要執行分析或刪除很多寄存器,是嗎?到idx_scan開始考慮 –