当我运行这行代码时。当我在Postgres中删除一些记录时,查询运行时间过长
DELETE from monthlyevaluatedbudgettable where budgetforyear = 2018;
它只是说在状态栏Query is Running.
,我认为它不会结束,所以我会取消它,然后在错误日志的消息此警告后:
ERROR: canceling statement due to user request
CONTEXT: SQL statement "DELETE FROM ONLY "public"."monthlyadjustedbudgettable" WHERE $1 OPERATOR(pg_catalog.=) "budgetid""
********** Error **********
ERROR: canceling statement due to user request
SQL state: 57014
Context: SQL statement "DELETE FROM ONLY "public"."monthlyadjustedbudgettable" WHERE $1 OPERATOR(pg_catalog.=) "budgetid""
monthlyadjustedbudgettable
的关系是ON DELETE CASCADE
的monthlyevaluatedbudgettable
。有人能告诉我会有什么问题吗?
我在这两个表中都有182,095
记录。他们的关系是one-to-one
。
两张桌子有多大? –
约182,095条记录。但是当我使用budgetforeyar = 2018时,它将返回60,751条记录。 – msagala25
对不起先生。 @TimBiegeleisen,但你能解释一下什么索引先生。我不明白。谢谢。对小菜很抱歉。 – msagala25