-
Global information
- Generated on Wed May 13 04:10:04 2026
- Log file: /project/archive/log/postgres/dbdev51/postgresql.log-20260512
- Parsed 3,553 log entries in 2s
- Log start from 2026-05-12 00:12:10 to 2026-05-12 23:45:13
-
Overview
Global Stats
- 12 Number of unique normalized queries
- 18 Number of queries
- 7m27s Total query duration
- 2026-05-12 10:24:14 First query
- 2026-05-12 16:12:43 Last query
- 1 queries/s at 2026-05-12 16:05:39 Query peak
- 7m27s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 7m27s Execute total duration
- 42 Number of events
- 9 Number of unique normalized events
- 17 Max number of times the same event was reported
- 0 Number of cancellation
- 0 Total number of automatic vacuums
- 0 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 390 Total number of sessions
- 22 sessions at 2026-05-12 15:22:37 Session peak
- 10d1h6m32s Total duration of sessions
- 37m5s Average duration of sessions
- 0 Average queries per session
- 1s148ms Average queries duration per session
- 37m4s Average idle time per session
- 398 Total number of connections
- 3 connections/s at 2026-05-12 09:55:41 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 1 queries/s Query Peak
- 2026-05-12 16:05:39 Date
SELECT Traffic
Key values
- 1 queries/s Query Peak
- 2026-05-12 14:57:37 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 1 queries/s Query Peak
- 2026-05-12 16:05:39 Date
Queries duration
Key values
- 7m27s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 12 00 0 0ms 0ms 0ms 0ms 0ms 0ms 01 0 0ms 0ms 0ms 0ms 0ms 0ms 02 0 0ms 0ms 0ms 0ms 0ms 0ms 03 0 0ms 0ms 0ms 0ms 0ms 0ms 04 0 0ms 0ms 0ms 0ms 0ms 0ms 05 0 0ms 0ms 0ms 0ms 0ms 0ms 06 0 0ms 0ms 0ms 0ms 0ms 0ms 07 0 0ms 0ms 0ms 0ms 0ms 0ms 08 0 0ms 0ms 0ms 0ms 0ms 0ms 09 0 0ms 0ms 0ms 0ms 0ms 0ms 10 4 0ms 51s973ms 44s691ms 49s923ms 51s973ms 51s973ms 11 0 0ms 0ms 0ms 0ms 0ms 0ms 12 0 0ms 0ms 0ms 0ms 0ms 0ms 13 0 0ms 0ms 0ms 0ms 0ms 0ms 14 7 0ms 17s79ms 13s138ms 17s79ms 22s827ms 22s827ms 15 3 0ms 17s223ms 16s421ms 17s112ms 17s223ms 17s223ms 16 4 0ms 39s406ms 31s928ms 1m3s 1m3s 1m3s 17 0 0ms 0ms 0ms 0ms 0ms 0ms 18 0 0ms 0ms 0ms 0ms 0ms 0ms 19 0 0ms 0ms 0ms 0ms 0ms 0ms 20 0 0ms 0ms 0ms 0ms 0ms 0ms 21 0 0ms 0ms 0ms 0ms 0ms 0ms 22 0 0ms 0ms 0ms 0ms 0ms 0ms 23 0 0ms 0ms 0ms 0ms 0ms 0ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 12 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 0 0 0ms 0ms 0ms 0ms 08 0 0 0ms 0ms 0ms 0ms 09 0 0 0ms 0ms 0ms 0ms 10 3 0 42s948ms 36s999ms 39s871ms 51s973ms 11 0 0 0ms 0ms 0ms 0ms 12 0 0 0ms 0ms 0ms 0ms 13 0 0 0ms 0ms 0ms 0ms 14 7 0 13s138ms 16s947ms 17s79ms 22s827ms 15 3 0 16s421ms 0ms 17s112ms 17s223ms 16 2 0 38s975ms 38s543ms 39s406ms 39s406ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 0 0ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 12 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 0 0 0 0ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare May 12 00 0 0 0.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 0 0.00 0.00% 10 0 0 0.00 0.00% 11 0 0 0.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 7 7.00 0.00% 15 0 2 2.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second May 12 00 16 0.00/s 01 16 0.00/s 02 16 0.00/s 03 16 0.00/s 04 16 0.00/s 05 16 0.00/s 06 16 0.00/s 07 16 0.00/s 08 16 0.00/s 09 16 0.00/s 10 31 0.01/s 11 15 0.00/s 12 16 0.00/s 13 9 0.00/s 14 16 0.00/s 15 22 0.01/s 16 17 0.00/s 17 16 0.00/s 18 16 0.00/s 19 16 0.00/s 20 16 0.00/s 21 16 0.00/s 22 16 0.00/s 23 16 0.00/s Day Hour Count Average Duration Average idle time May 12 00 16 30m37s 30m37s 01 16 30m41s 30m41s 02 16 30m41s 30m41s 03 16 30m37s 30m37s 04 16 30m41s 30m41s 05 16 30m41s 30m41s 06 16 30m37s 30m37s 07 16 30m41s 30m41s 08 16 30m41s 30m41s 09 16 30m37s 30m37s 10 18 27m16s 27m6s 11 15 30m40s 30m40s 12 16 30m39s 30m39s 13 9 30m43s 30m43s 14 16 30m37s 30m31s 15 16 30m41s 30m38s 16 23 42m50s 42m44s 17 17 54m40s 54m40s 18 20 2h4m40s 2h4m40s 19 16 30m41s 30m41s 20 16 30m37s 30m37s 21 16 30m41s 30m41s 22 16 30m41s 30m41s 23 16 30m37s 30m37s -
Connections
Established Connections
Key values
- 3 connections Connection Peak
- 2026-05-12 09:55:41 Date
Connections per database
Key values
- ctddev51 Main Database
- 398 connections Total
Connections per user
Key values
- editeu Main User
- 398 connections Total
-
Sessions
Simultaneous sessions
Key values
- 22 sessions Session Peak
- 2026-05-12 15:22:37 Date
Histogram of session times
Key values
- 377 1800000-3600000ms duration
Sessions per database
Key values
- ctddev51 Main Database
- 390 sessions Total
Sessions per user
Key values
- editeu Main User
- 390 sessions Total
Sessions per host
Key values
- 10.12.5.47 Main Host
- 390 sessions Total
-
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 345 buffers Checkpoint Peak
- 2026-05-12 14:40:21 Date
- 34.786 seconds Highest write time
- 0.001 seconds Sync time
Checkpoints Wal files
Key values
- 0 files Wal files usage Peak
- 2026-05-12 14:40:21 Date
Checkpoints distance
Key values
- 0.08 Mo Distance Peak
- 2026-05-12 14:40:21 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 12 00 0 0s 0s 0s 01 0 0s 0s 0s 02 0 0s 0s 0s 03 0 0s 0s 0s 04 0 0s 0s 0s 05 0 0s 0s 0s 06 0 0s 0s 0s 07 0 0s 0s 0s 08 0 0s 0s 0s 09 0 0s 0s 0s 10 0 0s 0s 0s 11 0 0s 0s 0s 12 0 0s 0s 0s 13 0 0s 0s 0s 14 345 34.786s 0.001s 34.804s 15 81 8.283s 0.002s 8.315s 16 0 0s 0s 0s 17 0 0s 0s 0s 18 0 0s 0s 0s 19 0 0s 0s 0s 20 0 0s 0s 0s 21 0 0s 0s 0s 22 0 0s 0s 0s 23 0 0s 0s 0s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 12 00 0 0 0 0 0s 0s 01 0 0 0 0 0s 0s 02 0 0 0 0 0s 0s 03 0 0 0 0 0s 0s 04 0 0 0 0 0s 0s 05 0 0 0 0 0s 0s 06 0 0 0 0 0s 0s 07 0 0 0 0 0s 0s 08 0 0 0 0 0s 0s 09 0 0 0 0 0s 0s 10 0 0 0 0 0s 0s 11 0 0 0 0 0s 0s 12 0 0 0 0 0s 0s 13 0 0 0 0 0s 0s 14 0 0 0 8 0.001s 0.001s 15 0 0 0 16 0.001s 0.002s 16 0 0 0 0 0s 0s 17 0 0 0 0 0s 0s 18 0 0 0 0 0s 0s 19 0 0 0 0 0s 0s 20 0 0 0 0 0s 0s 21 0 0 0 0 0s 0s 22 0 0 0 0 0s 0s 23 0 0 0 0 0s 0s Day Hour Count Avg time (sec) May 12 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate May 12 00 0.00 kB 0.00 kB 01 0.00 kB 0.00 kB 02 0.00 kB 0.00 kB 03 0.00 kB 0.00 kB 04 0.00 kB 0.00 kB 05 0.00 kB 0.00 kB 06 0.00 kB 0.00 kB 07 0.00 kB 0.00 kB 08 0.00 kB 0.00 kB 09 0.00 kB 0.00 kB 10 0.00 kB 0.00 kB 11 0.00 kB 0.00 kB 12 0.00 kB 0.00 kB 13 0.00 kB 0.00 kB 14 40.00 kB 90.00 kB 15 32.00 kB 81.50 kB 16 0.00 kB 0.00 kB 17 0.00 kB 0.00 kB 18 0.00 kB 0.00 kB 19 0.00 kB 0.00 kB 20 0.00 kB 0.00 kB 21 0.00 kB 0.00 kB 22 0.00 kB 0.00 kB 23 0.00 kB 0.00 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size May 12 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0 sec Highest CPU-cost vacuum
Table
Database - Date
- 0 sec Highest CPU-cost analyze
Table
Database - Date
Autovacuum actions (5 minutes period)
NO DATASET
Average Autovacuum Duration
Key values
- 0 sec Highest CPU-cost vacuum
Table
Database - Date
Average Autovacuum Duration (5 minutes average)
NO DATASET
Analyzes per table
Key values
- unknown (0) Main table analyzed (database )
- 0 analyzes Total
Vacuums per table
Key values
- unknown (0) Main table vacuumed on database
- 0 vacuums Total
Tuples removed per table
Key values
- unknown (0) Main table with removed tuples on database
- 0 tuples Total removed
Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 12 00 0 0 01 0 0 02 0 0 03 0 0 04 0 0 05 0 0 06 0 0 07 0 0 08 0 0 09 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 16 0 0 17 0 0 18 0 0 19 0 0 20 0 0 21 0 0 22 0 0 23 0 0 - 0 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 15 Total read queries
- 3 Total write queries
Queries by database
Key values
- unknown Main database
- 14 Requests
- 4m28s (unknown)
- Main time consuming database
Queries by user
Key values
- unknown Main user
- 14 Requests
User Request type Count Duration pub1 Total 4 2m58s cte 1 49s923ms select 3 2m8s unknown Total 14 4m28s cte 2 49s763ms select 12 3m39s Duration by user
Key values
- 4m28s (unknown) Main time consuming user
User Request type Count Duration pub1 Total 4 2m58s cte 1 49s923ms select 3 2m8s unknown Total 14 4m28s cte 2 49s763ms select 12 3m39s Queries by host
Key values
- unknown Main host
- 18 Requests
- 7m27s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 14 Requests
- 4m28s (unknown)
- Main time consuming application
Application Request type Count Duration pgAdmin 4 - CONN:4037727 Total 1 49s923ms cte 1 49s923ms pgAdmin 4 - CONN:4939229 Total 1 51s973ms select 1 51s973ms pgAdmin 4 - CONN:6182870 Total 1 36s999ms select 1 36s999ms pgAdmin 4 - CONN:7238277 Total 1 39s871ms select 1 39s871ms unknown Total 14 4m28s cte 2 49s763ms select 12 3m39s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-12 07:52:11 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 16 > 10000ms duration
Slowest individual queries
Rank Duration Query 1 51s973ms SELECT 'D015056' AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casRN AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm AS go_term_nm, gt.acc_txt AS go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm AS ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false /* optional DAG filters */ ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;[ Date: 2026-05-12 10:25:39 - Database: ctddev51 - User: pub1 - Application: pgAdmin 4 - CONN:4939229 ]
2 49s923ms WITH sq AS MATERIALIZED ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c JOIN gene_chem_reference gcr ON gcr.chem_id = c.id JOIN term g ON g.id = gcr.gene_id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT 'D015056' AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casRN AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" FROM sq JOIN gene_go_annot gga ON gga.gene_id = sq.gene_id JOIN dag_node gt ON gt.object_id = gga.go_term_id JOIN dag d ON d.id = gt.dag_id WHERE gga.is_not = false ORDER BY sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;[ Date: 2026-05-12 10:24:14 - Database: ctddev51 - User: pub1 - Application: pgAdmin 4 - CONN:4037727 ]
3 39s871ms SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY g.nm, d.nm_sort, "DirectEvidence", c.nm;[ Date: 2026-05-12 10:31:33 - Database: ctddev51 - User: pub1 - Application: pgAdmin 4 - CONN:7238277 ]
4 39s406ms SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;[ Date: 2026-05-12 16:01:02 ]
5 38s543ms SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;[ Date: 2026-05-12 16:12:43 ]
6 36s999ms SELECT 'd003866' AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ':' || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN de.direct_evidence ELSE NULL END AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) AS "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') AS "PubMedIDs" FROM gene_disease_reference gdr JOIN term g ON g.id = gdr.gene_id JOIN term d ON d.id = gdr.disease_id LEFT JOIN reference r ON r.id = gdr.reference_id LEFT JOIN term c ON c.id = gdr.via_chem_id LEFT JOIN LATERAL ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) AS disease_categories FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) dc ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(a.action_type_nm, '|' ORDER BY a.action_type_nm) AS direct_evidence FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) de ON gdr.via_chem_id IS NULL WHERE gdr.disease_id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score ORDER BY g.nm, d.nm_sort, de.direct_evidence, c.nm;[ Date: 2026-05-12 10:32:49 - Database: ctddev51 - User: pub1 - Application: pgAdmin 4 - CONN:6182870 ]
7 25s262ms -- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;[ Date: 2026-05-12 16:05:39 ]
8 24s501ms -- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;[ Date: 2026-05-12 16:12:00 ]
9 17s223ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 15:34:26 - Bind query: yes ]
10 17s112ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 15:20:59 - Bind query: yes ]
11 17s79ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 14:58:22 - Bind query: yes ]
12 16s947ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 14:57:37 - Bind query: yes ]
13 16s82ms SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;[ Date: 2026-05-12 14:31:06 - Bind query: yes ]
14 15s394ms SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE (c.id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;[ Date: 2026-05-12 14:30:00 - Bind query: yes ]
15 14s929ms SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;[ Date: 2026-05-12 15:55:03 ]
16 11s754ms SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 2128996) GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY d.nm_sort, g.nm, "DirectEvidence", c.nm;[ Date: 2026-05-12 14:34:00 - Bind query: yes ]
17 7s432ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 14:30:30 - Bind query: yes ]
18 7s281ms select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;[ Date: 2026-05-12 14:43:10 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1m17s 2 38s543ms 39s406ms 38s975ms select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 12 16 2 1m17s 38s975ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:01:02 Duration: 39s406ms
-
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:12:43 Duration: 38s543ms
2 1m8s 4 16s947ms 17s223ms 17s90ms select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 12 14 2 34s27ms 17s13ms 15 2 34s336ms 17s168ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:34:26 Duration: 17s223ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:20:59 Duration: 17s112ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:58:22 Duration: 17s79ms Bind query: yes
3 51s973ms 1 51s973ms 51s973ms 51s973ms select ? AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casrn AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" from ( with sq as ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.acc_txt = ? ) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm as go_term_nm, gt.acc_txt as go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm as ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 12 10 1 51s973ms 51s973ms [ User: pub1 - Total duration: 51s973ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4939229 - Total duration: 51s973ms - Times executed: 1 ]
-
SELECT 'D015056' AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casRN AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm AS go_term_nm, gt.acc_txt AS go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm AS ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false /* optional DAG filters */ ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 10:25:39 Duration: 51s973ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4939229
4 49s923ms 1 49s923ms 49s923ms 49s923ms with sq as materialized ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c join gene_chem_reference gcr on gcr.chem_id = c.id join term g on g.id = gcr.gene_id where c.acc_txt = ? ) select distinct ? AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casrn AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" from sq join gene_go_annot gga on gga.gene_id = sq.gene_id join dag_node gt on gt.object_id = gga.go_term_id join dag d on d.id = gt.dag_id where gga.is_not = false order by sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 12 10 1 49s923ms 49s923ms [ User: pub1 - Total duration: 49s923ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4037727 - Total duration: 49s923ms - Times executed: 1 ]
-
WITH sq AS MATERIALIZED ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c JOIN gene_chem_reference gcr ON gcr.chem_id = c.id JOIN term g ON g.id = gcr.gene_id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT 'D015056' AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casRN AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" FROM sq JOIN gene_go_annot gga ON gga.gene_id = sq.gene_id JOIN dag_node gt ON gt.object_id = gga.go_term_id JOIN dag d ON d.id = gt.dag_id WHERE gga.is_not = false ORDER BY sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;
Date: 2026-05-12 10:24:14 Duration: 49s923ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4037727
5 49s763ms 2 24s501ms 25s262ms 24s881ms with descendant_terms as materialized ( select p.descendant_object_id from dag_path p where p.ancestor_object_id = ? ), filtered_ptr as materialized ( select ptr.* from phenotype_term_reference ptr join descendant_terms dt on ptr.taxon_id = dt.descendant_object_id ) select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from filtered_ptr ptr join phenotype_term pt on pt.term_id = ptr.term_id and pt.phenotype_id = ptr.phenotype_id join term associatedterm on associatedterm.id = ptr.term_id join term phenotypeterm on phenotypeterm.id = ptr.phenotype_id left join term taxonterm on taxonterm.id = ptr.taxon_id join reference r on r.id = ptr.reference_id join ixn i on i.id = ptr.ixn_id join object_type o on o.id = associatedterm.object_type_id left join ixn_anatomy ia on ia.ixn_id = ptr.ixn_id left join term anatomyterm on anatomyterm.id = ia.anatomy_id group by associatedterm, associatedtermnmsort, phenotype, casrn, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedterm.id, phenotypeterm.id, pt.indirect_term_qty;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 12 16 2 49s763ms 24s881ms -
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:05:39 Duration: 25s262ms
-
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:12:00 Duration: 24s501ms
6 39s871ms 1 39s871ms 39s871ms 39s871ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by g.nm, d.nm_sort, "DirectEvidence", c.nm;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 12 10 1 39s871ms 39s871ms [ User: pub1 - Total duration: 39s871ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:7238277 - Total duration: 39s871ms - Times executed: 1 ]
-
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY g.nm, d.nm_sort, "DirectEvidence", c.nm;
Date: 2026-05-12 10:31:33 Duration: 39s871ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:7238277
7 36s999ms 1 36s999ms 36s999ms 36s999ms select ? AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ? || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", case when gdr.via_chem_id is null then de.direct_evidence else null end AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) AS "OmimIDs", string_agg(distinct r.acc_txt, ?) AS "PubMedIDs" from gene_disease_reference gdr join term g on g.id = gdr.gene_id join term d on d.id = gdr.disease_id left join reference r on r.id = gdr.reference_id left join term c on c.id = gdr.via_chem_id left join lateral ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) as disease_categories from slim_term_mapping stm where stm.mapped_term_id = d.id) dc on true left join lateral ( select string_agg(a.action_type_nm, ? order by a.action_type_nm) as direct_evidence from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) de on gdr.via_chem_id is null where gdr.disease_id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score order by g.nm, d.nm_sort, de.direct_evidence, c.nm;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 12 10 1 36s999ms 36s999ms [ User: pub1 - Total duration: 36s999ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:6182870 - Total duration: 36s999ms - Times executed: 1 ]
-
SELECT 'd003866' AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ':' || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN de.direct_evidence ELSE NULL END AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) AS "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') AS "PubMedIDs" FROM gene_disease_reference gdr JOIN term g ON g.id = gdr.gene_id JOIN term d ON d.id = gdr.disease_id LEFT JOIN reference r ON r.id = gdr.reference_id LEFT JOIN term c ON c.id = gdr.via_chem_id LEFT JOIN LATERAL ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) AS disease_categories FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) dc ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(a.action_type_nm, '|' ORDER BY a.action_type_nm) AS direct_evidence FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) de ON gdr.via_chem_id IS NULL WHERE gdr.disease_id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score ORDER BY g.nm, d.nm_sort, de.direct_evidence, c.nm;
Date: 2026-05-12 10:32:49 Duration: 36s999ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:6182870
8 16s82ms 1 16s82ms 16s82ms 16s82ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 12 14 1 16s82ms 16s82ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:31:06 Duration: 16s82ms Bind query: yes
9 15s394ms 1 15s394ms 15s394ms 15s394ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where (c.id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 12 14 1 15s394ms 15s394ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE (c.id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:30:00 Duration: 15s394ms Bind query: yes
10 14s929ms 1 14s929ms 14s929ms 14s929ms select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) and associatedterm.object_type_id = ? group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 12 15 1 14s929ms 14s929ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:55:03 Duration: 14s929ms
11 14s714ms 2 7s281ms 7s432ms 7s357ms select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where ptr.term_id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 12 14 2 14s714ms 7s357ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:30:30 Duration: 7s432ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:43:10 Duration: 7s281ms Bind query: yes
12 11s754ms 1 11s754ms 11s754ms 11s754ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?) group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by d.nm_sort, g.nm, "DirectEvidence", c.nm;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 12 14 1 11s754ms 11s754ms -
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 2128996) GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY d.nm_sort, g.nm, "DirectEvidence", c.nm;
Date: 2026-05-12 14:34:00 Duration: 11s754ms Bind query: yes
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 4 1m8s 16s947ms 17s223ms 17s90ms select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 12 14 2 34s27ms 17s13ms 15 2 34s336ms 17s168ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:34:26 Duration: 17s223ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:20:59 Duration: 17s112ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:58:22 Duration: 17s79ms Bind query: yes
2 2 1m17s 38s543ms 39s406ms 38s975ms select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 12 16 2 1m17s 38s975ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:01:02 Duration: 39s406ms
-
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:12:43 Duration: 38s543ms
3 2 49s763ms 24s501ms 25s262ms 24s881ms with descendant_terms as materialized ( select p.descendant_object_id from dag_path p where p.ancestor_object_id = ? ), filtered_ptr as materialized ( select ptr.* from phenotype_term_reference ptr join descendant_terms dt on ptr.taxon_id = dt.descendant_object_id ) select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from filtered_ptr ptr join phenotype_term pt on pt.term_id = ptr.term_id and pt.phenotype_id = ptr.phenotype_id join term associatedterm on associatedterm.id = ptr.term_id join term phenotypeterm on phenotypeterm.id = ptr.phenotype_id left join term taxonterm on taxonterm.id = ptr.taxon_id join reference r on r.id = ptr.reference_id join ixn i on i.id = ptr.ixn_id join object_type o on o.id = associatedterm.object_type_id left join ixn_anatomy ia on ia.ixn_id = ptr.ixn_id left join term anatomyterm on anatomyterm.id = ia.anatomy_id group by associatedterm, associatedtermnmsort, phenotype, casrn, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedterm.id, phenotypeterm.id, pt.indirect_term_qty;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 12 16 2 49s763ms 24s881ms -
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:05:39 Duration: 25s262ms
-
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:12:00 Duration: 24s501ms
4 2 14s714ms 7s281ms 7s432ms 7s357ms select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where ptr.term_id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 12 14 2 14s714ms 7s357ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:30:30 Duration: 7s432ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:43:10 Duration: 7s281ms Bind query: yes
5 1 51s973ms 51s973ms 51s973ms 51s973ms select ? AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casrn AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" from ( with sq as ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.acc_txt = ? ) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm as go_term_nm, gt.acc_txt as go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm as ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 12 10 1 51s973ms 51s973ms [ User: pub1 - Total duration: 51s973ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4939229 - Total duration: 51s973ms - Times executed: 1 ]
-
SELECT 'D015056' AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casRN AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm AS go_term_nm, gt.acc_txt AS go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm AS ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false /* optional DAG filters */ ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 10:25:39 Duration: 51s973ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4939229
6 1 49s923ms 49s923ms 49s923ms 49s923ms with sq as materialized ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c join gene_chem_reference gcr on gcr.chem_id = c.id join term g on g.id = gcr.gene_id where c.acc_txt = ? ) select distinct ? AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casrn AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" from sq join gene_go_annot gga on gga.gene_id = sq.gene_id join dag_node gt on gt.object_id = gga.go_term_id join dag d on d.id = gt.dag_id where gga.is_not = false order by sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 12 10 1 49s923ms 49s923ms [ User: pub1 - Total duration: 49s923ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4037727 - Total duration: 49s923ms - Times executed: 1 ]
-
WITH sq AS MATERIALIZED ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c JOIN gene_chem_reference gcr ON gcr.chem_id = c.id JOIN term g ON g.id = gcr.gene_id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT 'D015056' AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casRN AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" FROM sq JOIN gene_go_annot gga ON gga.gene_id = sq.gene_id JOIN dag_node gt ON gt.object_id = gga.go_term_id JOIN dag d ON d.id = gt.dag_id WHERE gga.is_not = false ORDER BY sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;
Date: 2026-05-12 10:24:14 Duration: 49s923ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4037727
7 1 39s871ms 39s871ms 39s871ms 39s871ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by g.nm, d.nm_sort, "DirectEvidence", c.nm;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 12 10 1 39s871ms 39s871ms [ User: pub1 - Total duration: 39s871ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:7238277 - Total duration: 39s871ms - Times executed: 1 ]
-
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY g.nm, d.nm_sort, "DirectEvidence", c.nm;
Date: 2026-05-12 10:31:33 Duration: 39s871ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:7238277
8 1 36s999ms 36s999ms 36s999ms 36s999ms select ? AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ? || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", case when gdr.via_chem_id is null then de.direct_evidence else null end AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) AS "OmimIDs", string_agg(distinct r.acc_txt, ?) AS "PubMedIDs" from gene_disease_reference gdr join term g on g.id = gdr.gene_id join term d on d.id = gdr.disease_id left join reference r on r.id = gdr.reference_id left join term c on c.id = gdr.via_chem_id left join lateral ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) as disease_categories from slim_term_mapping stm where stm.mapped_term_id = d.id) dc on true left join lateral ( select string_agg(a.action_type_nm, ? order by a.action_type_nm) as direct_evidence from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) de on gdr.via_chem_id is null where gdr.disease_id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score order by g.nm, d.nm_sort, de.direct_evidence, c.nm;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 12 10 1 36s999ms 36s999ms [ User: pub1 - Total duration: 36s999ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:6182870 - Total duration: 36s999ms - Times executed: 1 ]
-
SELECT 'd003866' AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ':' || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN de.direct_evidence ELSE NULL END AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) AS "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') AS "PubMedIDs" FROM gene_disease_reference gdr JOIN term g ON g.id = gdr.gene_id JOIN term d ON d.id = gdr.disease_id LEFT JOIN reference r ON r.id = gdr.reference_id LEFT JOIN term c ON c.id = gdr.via_chem_id LEFT JOIN LATERAL ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) AS disease_categories FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) dc ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(a.action_type_nm, '|' ORDER BY a.action_type_nm) AS direct_evidence FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) de ON gdr.via_chem_id IS NULL WHERE gdr.disease_id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score ORDER BY g.nm, d.nm_sort, de.direct_evidence, c.nm;
Date: 2026-05-12 10:32:49 Duration: 36s999ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:6182870
9 1 16s82ms 16s82ms 16s82ms 16s82ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 12 14 1 16s82ms 16s82ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:31:06 Duration: 16s82ms Bind query: yes
10 1 15s394ms 15s394ms 15s394ms 15s394ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where (c.id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 12 14 1 15s394ms 15s394ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE (c.id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:30:00 Duration: 15s394ms Bind query: yes
11 1 14s929ms 14s929ms 14s929ms 14s929ms select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) and associatedterm.object_type_id = ? group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 12 15 1 14s929ms 14s929ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:55:03 Duration: 14s929ms
12 1 11s754ms 11s754ms 11s754ms 11s754ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?) group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by d.nm_sort, g.nm, "DirectEvidence", c.nm;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 12 14 1 11s754ms 11s754ms -
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 2128996) GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY d.nm_sort, g.nm, "DirectEvidence", c.nm;
Date: 2026-05-12 14:34:00 Duration: 11s754ms Bind query: yes
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 51s973ms 51s973ms 51s973ms 1 51s973ms select ? AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casrn AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" from ( with sq as ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.acc_txt = ? ) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm as go_term_nm, gt.acc_txt as go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm as ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 12 10 1 51s973ms 51s973ms [ User: pub1 - Total duration: 51s973ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4939229 - Total duration: 51s973ms - Times executed: 1 ]
-
SELECT 'D015056' AS "Input", sqi.chem_nm AS "ChemicalName", sqi.chem_acc_txt AS "ChemicalID", sqi.casRN AS "CasRN", sqi.gene_symbol AS "GeneSymbol", sqi.gene_acc_txt AS "GeneID", sqi.ontology_nm AS "Ontology", sqi.go_term_nm AS "GoTermName", sqi.go_acc_txt AS "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm AS go_term_nm, gt.acc_txt AS go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm AS ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false /* optional DAG filters */ ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 10:25:39 Duration: 51s973ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4939229
2 49s923ms 49s923ms 49s923ms 1 49s923ms with sq as materialized ( select distinct c.id as chem_id, c.nm as chem_nm, c.acc_txt as chem_acc_txt, c.secondary_nm as casrn, c.nm_sort as chem_nm_sort, gcr.gene_id, g.nm as gene_symbol, g.acc_txt as gene_acc_txt, g.nm_sort as gene_symbol_sort from term c join gene_chem_reference gcr on gcr.chem_id = c.id join term g on g.id = gcr.gene_id where c.acc_txt = ? ) select distinct ? AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casrn AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" from sq join gene_go_annot gga on gga.gene_id = sq.gene_id join dag_node gt on gt.object_id = gga.go_term_id join dag d on d.id = gt.dag_id where gga.is_not = false order by sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 12 10 1 49s923ms 49s923ms [ User: pub1 - Total duration: 49s923ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:4037727 - Total duration: 49s923ms - Times executed: 1 ]
-
WITH sq AS MATERIALIZED ( SELECT DISTINCT c.id AS chem_id, c.nm AS chem_nm, c.acc_txt AS chem_acc_txt, c.secondary_nm AS casRN, c.nm_sort AS chem_nm_sort, gcr.gene_id, g.nm AS gene_symbol, g.acc_txt AS gene_acc_txt, g.nm_sort AS gene_symbol_sort FROM term c JOIN gene_chem_reference gcr ON gcr.chem_id = c.id JOIN term g ON g.id = gcr.gene_id WHERE c.acc_txt = 'D015056' ) SELECT DISTINCT 'D015056' AS "Input", sq.chem_nm AS "ChemicalName", sq.chem_acc_txt AS "ChemicalID", sq.casRN AS "CasRN", sq.gene_symbol AS "GeneSymbol", sq.gene_acc_txt AS "GeneID", d.nm AS "Ontology", gt.nm AS "GoTermName", gt.acc_txt AS "GoTermID" FROM sq JOIN gene_go_annot gga ON gga.gene_id = sq.gene_id JOIN dag_node gt ON gt.object_id = gga.go_term_id JOIN dag d ON d.id = gt.dag_id WHERE gga.is_not = false ORDER BY sq.chem_nm, sq.gene_symbol, d.nm, gt.nm;
Date: 2026-05-12 10:24:14 Duration: 49s923ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:4037727
3 39s871ms 39s871ms 39s871ms 1 39s871ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by g.nm, d.nm_sort, "DirectEvidence", c.nm;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 12 10 1 39s871ms 39s871ms [ User: pub1 - Total duration: 39s871ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:7238277 - Total duration: 39s871ms - Times executed: 1 ]
-
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY g.nm, d.nm_sort, "DirectEvidence", c.nm;
Date: 2026-05-12 10:31:33 Duration: 39s871ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:7238277
4 38s543ms 39s406ms 38s975ms 2 1m17s select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 12 16 2 1m17s 38s975ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:01:02 Duration: 39s406ms
-
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 16:12:43 Duration: 38s543ms
5 36s999ms 36s999ms 36s999ms 1 36s999ms select ? AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ? || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", case when gdr.via_chem_id is null then de.direct_evidence else null end AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) AS "OmimIDs", string_agg(distinct r.acc_txt, ?) AS "PubMedIDs" from gene_disease_reference gdr join term g on g.id = gdr.gene_id join term d on d.id = gdr.disease_id left join reference r on r.id = gdr.reference_id left join term c on c.id = gdr.via_chem_id left join lateral ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) as disease_categories from slim_term_mapping stm where stm.mapped_term_id = d.id) dc on true left join lateral ( select string_agg(a.action_type_nm, ? order by a.action_type_nm) as direct_evidence from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) de on gdr.via_chem_id is null where gdr.disease_id = ? group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score order by g.nm, d.nm_sort, de.direct_evidence, c.nm;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 12 10 1 36s999ms 36s999ms [ User: pub1 - Total duration: 36s999ms - Times executed: 1 ]
[ Application: pgAdmin 4 - CONN:6182870 - Total duration: 36s999ms - Times executed: 1 ]
-
SELECT 'd003866' AS "Input", d.nm AS "DiseaseName", d.acc_db_cd || ':' || d.acc_txt AS "DiseaseID", g.nm AS "GeneSymbol", g.acc_txt AS "GeneID", dc.disease_categories AS "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN de.direct_evidence ELSE NULL END AS "DirectEvidence", c.nm AS "InferenceChemicalName", gdr.network_score AS "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) AS "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') AS "PubMedIDs" FROM gene_disease_reference gdr JOIN term g ON g.id = gdr.gene_id JOIN term d ON d.id = gdr.disease_id LEFT JOIN reference r ON r.id = gdr.reference_id LEFT JOIN term c ON c.id = gdr.via_chem_id LEFT JOIN LATERAL ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) AS disease_categories FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) dc ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(a.action_type_nm, '|' ORDER BY a.action_type_nm) AS direct_evidence FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) de ON gdr.via_chem_id IS NULL WHERE gdr.disease_id = 2128996 GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, dc.disease_categories, de.direct_evidence, c.nm, gdr.via_chem_id, gdr.network_score ORDER BY g.nm, d.nm_sort, de.direct_evidence, c.nm;
Date: 2026-05-12 10:32:49 Duration: 36s999ms Database: ctddev51 User: pub1 Application: pgAdmin 4 - CONN:6182870
6 24s501ms 25s262ms 24s881ms 2 49s763ms with descendant_terms as materialized ( select p.descendant_object_id from dag_path p where p.ancestor_object_id = ? ), filtered_ptr as materialized ( select ptr.* from phenotype_term_reference ptr join descendant_terms dt on ptr.taxon_id = dt.descendant_object_id ) select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from filtered_ptr ptr join phenotype_term pt on pt.term_id = ptr.term_id and pt.phenotype_id = ptr.phenotype_id join term associatedterm on associatedterm.id = ptr.term_id join term phenotypeterm on phenotypeterm.id = ptr.phenotype_id left join term taxonterm on taxonterm.id = ptr.taxon_id join reference r on r.id = ptr.reference_id join ixn i on i.id = ptr.ixn_id join object_type o on o.id = associatedterm.object_type_id left join ixn_anatomy ia on ia.ixn_id = ptr.ixn_id left join term anatomyterm on anatomyterm.id = ia.anatomy_id group by associatedterm, associatedtermnmsort, phenotype, casrn, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedterm.id, phenotypeterm.id, pt.indirect_term_qty;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 12 16 2 49s763ms 24s881ms -
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:05:39 Duration: 25s262ms
-
-- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG(DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:12:00 Duration: 24s501ms
7 16s947ms 17s223ms 17s90ms 4 1m8s select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 12 14 2 34s27ms 17s13ms 15 2 34s336ms 17s168ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:34:26 Duration: 17s223ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 15:20:59 Duration: 17s112ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where taxonTerm.id in ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 1 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'MUS MUSCULUS' AND tl.object_type_id = 1))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:58:22 Duration: 17s79ms Bind query: yes
8 16s82ms 16s82ms 16s82ms 1 16s82ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where c.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 12 14 1 16s82ms 16s82ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE c.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:31:06 Duration: 16s82ms Bind query: yes
9 15s394ms 15s394ms 15s394ms 1 15s394ms select ? "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casrn "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" from ( with sq as ( select distinct c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casrn, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort from term c inner join gene_chem_reference gcr on c.id = gcr.chem_id inner join term g on gcr.gene_id = g.id where (c.id = ?)) select distinct sq.chem_nm, sq.chem_acc_txt, sq.casrn, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm from sq inner join gene_go_annot gga on sq.gene_id = gga.gene_id inner join dag_node gt on gga.go_term_id = gt.object_id inner join dag d on gt.dag_id = d.id where gga.is_not = false and (d.id = ?) order by sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 12 14 1 15s394ms 15s394ms -
SELECT /* BatchChemGODAO */ 'd015056' "Input", sqi.chem_nm "ChemicalName", sqi.chem_acc_txt "ChemicalID", sqi.casRN "CasRN", sqi.gene_symbol "GeneSymbol", sqi.gene_acc_txt "GeneID", sqi.ontology_nm "Ontology", sqi.go_term_nm "GoTermName", sqi.go_acc_txt "GoTermID" FROM ( WITH sq AS ( SELECT DISTINCT c.id chem_id, c.nm chem_nm, c.acc_txt chem_acc_txt, c.secondary_nm casRN, c.nm_sort chem_nm_sort, gcr.gene_id, g.nm gene_symbol, g.acc_txt gene_acc_txt, g.nm_sort gene_symbol_sort FROM term c INNER JOIN gene_chem_reference gcr ON c.id = gcr.chem_id INNER JOIN term g ON gcr.gene_id = g.id WHERE (c.id = 1430717)) SELECT DISTINCT sq.chem_nm, sq.chem_acc_txt, sq.casRN, sq.gene_symbol, sq.gene_acc_txt, gt.nm go_term_nm, gt.acc_txt go_acc_txt, sq.chem_nm_sort, sq.gene_symbol_sort, gt.nm_sort, d.nm ontology_nm FROM sq INNER JOIN gene_go_annot gga ON sq.gene_id = gga.gene_id INNER JOIN dag_node gt ON gga.go_term_id = gt.object_id INNER JOIN dag d ON gt.dag_id = d.id WHERE gga.is_not = false AND (d.id = 5) ORDER BY sq.chem_nm_sort, sq.gene_symbol_sort, d.nm, gt.nm_sort) sqi;
Date: 2026-05-12 14:30:00 Duration: 15s394ms Bind query: yes
10 14s929ms 14s929ms 14s929ms 1 14s929ms select associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id as associatedtermid, ptr.ixn_id as ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort as associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) as casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id as phenotypeid, string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?) as taxonterms, string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?) as anatomyterms, count(distinct taxonterm.nm) as taxoncount, i.ixn_prose_html as ixnprosehtml, i.ixn_prose_txt as ixnprose, i.sort_txt as ixnsort, string_agg(distinct r.acc_txt, ?) as references, count(distinct ptr.reference_id) as refcount, pt.indirect_term_qty as inferredcount, count(*) over () as full_count from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where taxonterm.id in ( select descendant_object_id from dag_path where ancestor_object_id = ?) and associatedterm.object_type_id = ? group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 12 15 1 14s929ms 14s929ms -
SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER () AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:55:03 Duration: 14s929ms
11 11s754ms 11s754ms 11s754ms 1 11s754ms select ? "Input", d.nm "DiseaseName", d.acc_db_cd || ? || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( select string_agg(stm.slim_term_nm, ? order by stm.slim_term_nm) from slim_term_mapping stm where stm.mapped_term_id = d.id) "DiseaseCategories", case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", string_agg(gdr.source_acc_txt, ? order by gdr.source_acc_txt) "OmimIDs", string_agg(distinct r.acc_txt, ?) "PubMedIDs" from gene_disease_reference gdr inner join term g on gdr.gene_id = g.id inner join term d on gdr.disease_id = d.id left outer join reference r on gdr.reference_id = r.id left outer join term c on gdr.via_chem_id = c.id where d.id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id = ?) group by g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, case when gdr.via_chem_id is null then ( select string_agg(a.action_type_nm, ?) from gene_disease_axn a where a.gene_id = gdr.gene_id and a.disease_id = gdr.disease_id) else null end, c.nm, gdr.network_score order by d.nm_sort, g.nm, "DirectEvidence", c.nm;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 12 14 1 11s754ms 11s754ms -
SELECT /* BatchDiseaseGeneAssnsDAO */ 'd003866' "Input", d.nm "DiseaseName", d.acc_db_cd || ':' || d.acc_txt "DiseaseID", g.nm "GeneSymbol", g.acc_txt "GeneID", ( SELECT STRING_AGG(stm.slim_term_nm, '|' ORDER BY stm.slim_term_nm) FROM slim_term_mapping stm WHERE stm.mapped_term_id = d.id) "DiseaseCategories", CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END "DirectEvidence", c.nm "InferenceChemicalName", gdr.network_score "InferenceScore", STRING_AGG(gdr.source_acc_txt, '|' ORDER BY gdr.source_acc_txt) "OmimIDs", STRING_AGG(DISTINCT r.acc_txt, '|') "PubMedIDs" FROM gene_disease_reference gdr INNER JOIN term g ON gdr.gene_id = g.id INNER JOIN term d ON gdr.disease_id = d.id LEFT OUTER JOIN reference r ON gdr.reference_id = r.id LEFT OUTER JOIN term c ON gdr.via_chem_id = c.id WHERE d.id in ( select distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id = 2128996) GROUP BY g.nm, g.acc_txt, d.nm, d.id, d.acc_txt, d.acc_db_cd, d.nm_sort, CASE WHEN gdr.via_chem_id IS NULL THEN ( SELECT STRING_AGG(a.action_type_nm, '|') FROM gene_disease_axn a WHERE a.gene_id = gdr.gene_id AND a.disease_id = gdr.disease_id) ELSE NULL END, c.nm, gdr.network_score ORDER BY d.nm_sort, g.nm, "DirectEvidence", c.nm;
Date: 2026-05-12 14:34:00 Duration: 11s754ms Bind query: yes
12 7s281ms 7s432ms 7s357ms 2 14s714ms select distinct associatedterm.nm || ? || o.cd || ? || associatedterm.nm_html || ? || associatedterm.acc_txt || ? || associatedterm.acc_db_cd as associatedterm, associatedterm.id associatedtermid, ptr.ixn_id ixnid, associatedterm.object_type_id || ? || associatedterm.nm_sort associatedtermnmsort, coalesce(associatedterm.secondary_nm, ?) casrn, phenotypeterm.nm || ? || ? || ? || phenotypeterm.nm_html || ? || phenotypeterm.acc_txt || ? || phenotypeterm.acc_db_cd as phenotype, phenotypeterm.id phenotypeid, ( select string_agg(distinct taxonterm.nm || ? || ? || ? || taxonterm.nm_html || ? || taxonterm.acc_txt || ? || taxonterm.acc_db_cd || ? || coalesce(taxonterm.secondary_nm, ?), ?)) as taxonterms, ( select string_agg(distinct anatomyterm.nm_html || ? || anatomyterm.acc_txt || ? || ia.level_seq || ? || anatomyterm.acc_db_cd || ? || anatomyterm.nm, ?)) as anatomyterms, count(distinct taxonterm.nm) taxoncount, i.ixn_prose_html ixnprosehtml, i.ixn_prose_txt ixnprose, i.sort_txt ixnsort, ( select string_agg(distinct r.acc_txt, ?)) as references, count(distinct ptr.reference_id) refcount, pt.indirect_term_qty inferredcount, count(*) over () fullrowcount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedterm on ptr.term_id = associatedterm.id inner join term phenotypeterm on ptr.phenotype_id = phenotypeterm.id left outer join term taxonterm on ptr.taxon_id = taxonterm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedterm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyterm on ia.anatomy_id = anatomyterm.id where ptr.term_id in ( select distinct dp.descendant_object_id from dag_path dp where dp.ancestor_object_id in ( select distinct id from term baseterm where object_type_id = ? and baseterm.id in ( select term_id from term_label tl where upper(tl.nm) = ? and tl.object_type_id = ?))) group by associatedterm, associatedtermnmsort, phenotype, casrn, ixnid, ixnprosehtml, ixnprose, ixnsort, associatedtermid, phenotypeid, inferredcount order by associatedtermnmsort asc, pt.indirect_term_qty desc limit ?;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 12 14 2 14s714ms 7s357ms -
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:30:30 Duration: 7s432ms Bind query: yes
-
select distinct /* ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd as associatedTerm, associatedTerm.id associatedTermId, ptr.ixn_id ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') casRN, phenotypeTerm.nm || '^' || 'go' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd as phenotype, phenotypeTerm.id phenotypeId, ( SELECT STRING_AGG(distinct taxonTerm.nm || '^' || 'taxon' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|')) as taxonTerms, ( SELECT STRING_AGG(distinct anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|')) as anatomyTerms, COUNT(DISTINCT taxonTerm.nm) taxonCount, i.ixn_prose_html ixnProseHtml, i.ixn_prose_txt ixnProse, i.sort_txt ixnSort, ( SELECT STRING_AGG(distinct r.acc_txt, '|')) as references, COUNT(DISTINCT ptr.reference_id) refCount, pt.indirect_term_qty inferredCount, COUNT(*) OVER () fullRowCount from phenotype_term_reference ptr inner join phenotype_term pt on ptr.term_id = pt.term_id and ptr.phenotype_id = pt.phenotype_id inner join term associatedTerm on ptr.term_id = associatedTerm.id inner join term phenotypeTerm on ptr.phenotype_id = phenotypeTerm.id left outer join term taxonTerm on ptr.taxon_id = taxonTerm.id inner join reference r on ptr.reference_id = r.id inner join ixn i on ptr.ixn_id = i.id inner join object_type o on associatedTerm.object_type_id = o.id left outer join ixn_anatomy ia on ptr.ixn_id = ia.ixn_id left outer join term anatomyTerm on ia.anatomy_id = anatomyTerm.id where ptr.term_id IN ( select /* DBConstants.getDAGTermSQL */ distinct dp.descendant_object_id from dag_path dp WHERE dp.ancestor_object_id in ( select distinct id from term baseTerm where object_type_id = 2 and baseTerm.id in ( select term_id from term_label tl WHERE UPPER(tl.nm) = 'VALPROIC ACID' AND tl.object_type_id = 2))) group by associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount ORDER BY associatedTermNmSort asc, pt.indirect_term_qty desc LIMIT 50;
Date: 2026-05-12 14:43:10 Duration: 7s281ms Bind query: yes
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 1,702 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 17 FATAL entries
- 13 ERROR entries
- 0 WARNING entries
- 12 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 17 Max number of times the same event was reported
- 42 Total events found
Rank Times reported Error 1 17 FATAL: terminating background worker "..." due to administrator command
Times Reported Most Frequent Error / Event #1
Day Hour Count May 12 15 17 - FATAL: terminating background worker "parallel worker" due to administrator command
- FATAL: terminating background worker "parallel worker" due to administrator command
- FATAL: terminating background worker "parallel worker" due to administrator command
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 1088840 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:53:47
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:53:55
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 1 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:54:25
2 7 LOG: could not receive data from client: Connection reset by peer
Times Reported Most Frequent Error / Event #2
Day Hour Count May 12 16 7 3 5 LOG: could not receive data from client: Connection timed out
Times Reported Most Frequent Error / Event #3
Day Hour Count May 12 17 1 18 4 4 5 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count May 12 15 5 - ERROR: syntax error at or near "ANY" at character 2104
- ERROR: syntax error at or near "179416" at character 1
- ERROR: syntax error at or near "descendant_terms" at character 1
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE phenotypeTerm.id IN ( ANY ( ARRAY ( SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416)) ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:28:43 Database: ctddev51 Application: pgAdmin 4 - CONN:6262050 User: pubeu Remote:
Statement: 179416
Date: 2026-05-12 15:31:27 Database: ctddev51 Application: pgAdmin 4 - CONN:8215940 User: pubeu Remote:
Statement: descendant_terms
Date: 2026-05-12 15:57:18
5 4 ERROR: canceling statement due to user request
Times Reported Most Frequent Error / Event #5
Day Hour Count May 12 15 4 - ERROR: canceling statement due to user request
- ERROR: canceling statement due to user request
- ERROR: canceling statement due to user request
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 1088840 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:53:47
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:53:55
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE taxonTerm.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 1 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;
Date: 2026-05-12 15:54:25
6 1 ERROR: unterminated quoted string at or near "..." "
Times Reported Most Frequent Error / Event #6
Day Hour Count May 12 15 1 - ERROR: unterminated quoted string at or near "'Mus musculus" " at character 31
Statement: SELECT * FROM term where nm = 'Mus musculus"
Date: 2026-05-12 15:22:37 Database: ctddev51 Application: pgAdmin 4 - CONN:5263049 User: pubeu Remote:
7 1 ERROR: argument of WHERE must be type boolean, not type integer
Times Reported Most Frequent Error / Event #7
Day Hour Count May 12 16 1 - ERROR: argument of WHERE must be type boolean, not type integer at character 359
Statement: -- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ), filtered_ptr AS MATERIALIZED ( SELECT ptr.* FROM phenotype_term_reference ptr JOIN descendant_terms dt ON ptr.taxon_id = dt.descendant_object_id WHERE 1 ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG( DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|' ) AS taxonTerms, STRING_AGG( DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|' ) AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM filtered_ptr ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;
Date: 2026-05-12 16:05:09
8 1 ERROR: invalid reference to FROM-clause entry for table "..."
Times Reported Most Frequent Error / Event #8
Day Hour Count May 12 15 1 - ERROR: invalid reference to FROM-clause entry for table "phenotype_term" at character 2078
Hint: Perhaps you meant to reference the table alias "pt".
Statement: SELECT /* Optimized ChemPhenotypesAssnsDAO */ associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^' || 'GO' || '^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, -- Move aggregation into the main group to avoid N+1 subqueries STRING_AGG(DISTINCT taxonTerm.nm || '^' || 'TAXON' || '^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|') AS taxonTerms, STRING_AGG(DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|') AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM phenotype_term_reference ptr INNER JOIN phenotype_term pt ON ptr.term_id = pt.term_id AND ptr.phenotype_id = pt.phenotype_id INNER JOIN term associatedTerm ON ptr.term_id = associatedTerm.id INNER JOIN term phenotypeTerm ON ptr.phenotype_id = phenotypeTerm.id INNER JOIN reference r ON ptr.reference_id = r.id INNER JOIN ixn i ON ptr.ixn_id = i.id INNER JOIN object_type o ON associatedTerm.object_type_id = o.id LEFT OUTER JOIN term taxonTerm ON ptr.taxon_id = taxonTerm.id LEFT OUTER JOIN ixn_anatomy ia ON ptr.ixn_id = ia.ixn_id LEFT OUTER JOIN term anatomyTerm ON ia.anatomy_id = anatomyTerm.id WHERE phenotype_term.id IN ( -- Replaced ANY ARRAY with a standard IN for better Semi-Join optimization SELECT descendant_object_id FROM dag_path WHERE ancestor_object_id = 179416 ) AND associatedTerm.object_type_id = 1 GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ixnId, ixnProseHtml, ixnProse, ixnSort, associatedTermId, phenotypeId, inferredCount;Date: 2026-05-12 15:54:28
9 1 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #9
Day Hour Count May 12 16 1 - ERROR: column ptr.term_id does not exist at character 1670
Hint: Perhaps you meant to reference the column "pt.term_id".
Statement: -- Average runtime in PGAdmin average= 1.3s WITH descendant_terms AS MATERIALIZED ( SELECT p.descendant_object_id FROM dag_path p WHERE p.ancestor_object_id = 179416 ) SELECT DISTINCT associatedTerm.nm || '^' || o.cd || '^' || associatedTerm.nm_html || '^' || associatedTerm.acc_txt || '^' || associatedTerm.acc_db_cd AS associatedTerm, associatedTerm.id AS associatedTermId, ptr.ixn_id AS ixnId, associatedTerm.object_type_id || '|' || associatedTerm.nm_sort AS associatedTermNmSort, COALESCE(associatedTerm.secondary_nm, '') AS casRN, phenotypeTerm.nm || '^GO^' || phenotypeTerm.nm_html || '^' || phenotypeTerm.acc_txt || '^' || phenotypeTerm.acc_db_cd AS phenotype, phenotypeTerm.id AS phenotypeId, STRING_AGG( DISTINCT taxonTerm.nm || '^TAXON^' || taxonTerm.nm_html || '^' || taxonTerm.acc_txt || '^' || taxonTerm.acc_db_cd || '^' || COALESCE(taxonTerm.secondary_nm, ''), '|' ) AS taxonTerms, STRING_AGG( DISTINCT anatomyTerm.nm_html || '^' || anatomyTerm.acc_txt || '^' || ia.level_seq || '^' || anatomyTerm.acc_db_cd || '^' || anatomyTerm.nm, '|' ) AS anatomyTerms, COUNT(DISTINCT taxonTerm.nm) AS taxonCount, i.ixn_prose_html AS ixnProseHtml, i.ixn_prose_txt AS ixnProse, i.sort_txt AS ixnSort, STRING_AGG(DISTINCT r.acc_txt, '|') AS references, COUNT(DISTINCT ptr.reference_id) AS refCount, pt.indirect_term_qty AS inferredCount, COUNT(*) OVER() AS full_count FROM descendant_terms ptr JOIN phenotype_term pt ON pt.term_id = ptr.term_id AND pt.phenotype_id = ptr.phenotype_id JOIN term associatedTerm ON associatedTerm.id = ptr.term_id JOIN term phenotypeTerm ON phenotypeTerm.id = ptr.phenotype_id LEFT JOIN term taxonTerm ON taxonTerm.id = ptr.taxon_id JOIN reference r ON r.id = ptr.reference_id JOIN ixn i ON i.id = ptr.ixn_id JOIN object_type o ON o.id = associatedTerm.object_type_id LEFT JOIN ixn_anatomy ia ON ia.ixn_id = ptr.ixn_id LEFT JOIN term anatomyTerm ON anatomyTerm.id = ia.anatomy_id GROUP BY associatedTerm, associatedTermNmSort, phenotype, casRN, ptr.ixn_id, i.ixn_prose_html, i.ixn_prose_txt, i.sort_txt, associatedTerm.id, phenotypeTerm.id, pt.indirect_term_qty;Date: 2026-05-12 16:02:07