【发布时间】:2013-02-21 15:06:08
【问题描述】:
正如您在 pg_stat_user_indexes 表中看到的那样,永远不会使用外键索引。我想删除它们。由于不使用而删除外键索引是否有任何缺点。
db=# SELECT * FROM pg_stat_user_indexes WHERE relname='order_cancellationreason';
relid | indexrelid | schemaname | relname | indexrelname | idx_scan | idx_tup_read | idx_tup_fetch
-------+------------+------------+--------------------------+---------------------------------------------+----------+--------------+---------------
29835 | 31055 | public | order_cancellationreason | order_cancellationreason_address_id | 0 | 0 | 0
29835 | 31053 | public | order_cancellationreason | order_cancellationreason_cancelled_by_id | 0 | 0 | 0
db=#\d+ order_cancellationreason
...
Indexes:
"order_cancellationreason_cancelled_by_id" btree (cancelled_by_id)
"order_cancellationreason_address_id" btree (address_id)
Foreign-key constraints:
"cargo_id_refs_id_f4ffe34d" FOREIGN KEY (cargo_id) REFERENCES cargo_cargoinfo(id) DEFERRABLE INITIALLY DEFERRED
"order_cancellationreason_address_id_fkey" FOREIGN KEY (address_id) REFERENCES invoice_address(id) DEFERRABLE INITIALLY DEFERRED
"order_cancellationreason_cancelled_by_id_fkey" FOREIGN KEY (cancelled_by_id) REFERENCES auth_user(id) DEFERRABLE INITIALLY DEFERRED
【问题讨论】:
-
“没有被使用”是什么意思?你失去了参照完整性......
-
@njk:删除 index 不会删除 FK 约束。
-
@a_horse_with_no_name 错过了那个重要的词。
标签: postgresql indexing foreign-keys