Performance of pgAdmin 14 Beta 2
От | Kieran McCusker |
---|---|
Тема | Performance of pgAdmin 14 Beta 2 |
Дата | |
Msg-id | 4F2913E8.90706@kwest.info обсуждение исходный текст |
Ответы |
Re: Performance of pgAdmin 14 Beta 2
(Guillaume Lelarge <guillaume@lelarge.info>)
|
Список | pgadmin-support |
Hi I've noticed the performance of version 14.2 is very slow when clicking on tables. ~3 seconds for V14.2. Looking at the logs I see the following:- SELECT pr.oid, pr.xmin, pr.*, format_type(TYP.oid, NULL) AS typname, typns.nspname AS typnsp, lanname, proargnames, pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass) AS proargdefaultvals, pronargdefaults, proconfig, pg_get_userbyid(proowner) as funcowner, description FROM pg_proc pr JOIN pg_type typ ON typ.oid=prorettype JOIN pg_namespacetypns ON typns.oid=typ.typnamespace JOIN pg_language lng ON lng.oid=prolang LEFT OUTER JOIN pg_description desON des.objoid=pr.oid WHERE pr.oid=1646::oidORDER BY proname -- Followed by SELECT oid, format_type(oid, NULL) AS typname FROM pg_type These are repeated 8 times to match the number of constraint triggers shown. The problem with this is that "SELECT oid, format_type(oid, NULL) AS typname FROM pg_type" returns almost 32,000 rows in my database and takes ~170ms This in turn is causing the total time to execute the SQL for gathering information for the Properties tab to ~2 seconds. One odd thing I have just noticed is that there are actually only four distinct pr_proc oids being called - Corresponding to the four trigger procedures (they are all called twice), and the SQL Pane for this table shows :- -- Table: versions -- DROP TABLE versions; CREATE TABLE versions ( id serial NOT NULL, questionnaire_id integer NOT NULL, label text, styles text, settings hstore, version_number integerDEFAULT 1, rendered_at timestamp with time zone, lock_id integer, created_by integer, created_at timestamp withouttime zone DEFAULT now(), created_from_id integer, lang text DEFAULT 'eng-GB'::text, CONSTRAINT versions_pkey PRIMARYKEY (id ), CONSTRAINT "Ref_versions_to_questionnaires" FOREIGN KEY (questionnaire_id) REFERENCES questionnaires(id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE ) WITH ( OIDS=FALSE ); ALTER TABLE versions OWNER TO designer; GRANT ALL ON TABLE versions TO designer; GRANT ALL ON TABLE versions TO kwest; -- Trigger: RI_ConstraintTrigger_24390486 on versions -- DROP TRIGGER "RI_ConstraintTrigger_24390486" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_24390486" AFTER DELETE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_cascade_del"(); -- Trigger: RI_ConstraintTrigger_24390487 on versions -- DROP TRIGGER "RI_ConstraintTrigger_24390487" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_24390487" AFTER UPDATE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_upd"(); -- Trigger: RI_ConstraintTrigger_24390529 on versions -- DROP TRIGGER "RI_ConstraintTrigger_24390529" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_24390529" AFTER INSERT ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins"(); -- Trigger: RI_ConstraintTrigger_24390530 on versions -- DROP TRIGGER "RI_ConstraintTrigger_24390530" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_24390530" AFTER UPDATE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_upd"(); -- Trigger: RI_ConstraintTrigger_34286642 on versions -- DROP TRIGGER "RI_ConstraintTrigger_34286642" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_34286642" AFTER DELETE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_cascade_del"(); -- Trigger: RI_ConstraintTrigger_34286643 on versions -- DROP TRIGGER "RI_ConstraintTrigger_34286643" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_34286643" AFTER UPDATE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_upd"(); -- Trigger: RI_ConstraintTrigger_34533276 on versions -- DROP TRIGGER "RI_ConstraintTrigger_34533276" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_34533276" AFTER DELETE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_cascade_del"(); -- Trigger: RI_ConstraintTrigger_34533277 on versions -- DROP TRIGGER "RI_ConstraintTrigger_34533277" ON versions; CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_34533277" AFTER UPDATE ON versions FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_upd"(); Anyway apologies if this has been raised before and, as usual, many thanks for a great product Kieran
В списке pgadmin-support по дате отправления: