Help tuning query
От | Kevin Traub |
---|---|
Тема | Help tuning query |
Дата | |
Msg-id | amvm78$19rg$1@news.hub.org обсуждение исходный текст |
Список | pgsql-sql |
All; Can anyone please help with the tuning of this query? With 77000 rows in the operator_messages database the query is taking almost 15 seconds to return. Preference woul dbe under 5 seconds if possible. System load on a dual processor P3 with 1.5GB of memory remains under .4 during the query. The query and explain are noted below as well as description of the tables; Note both ANALYZE and VACUUM have been run numerous times. any help would be appreciated. -Kev virgin=# explain SELECT opr.msg_id, opr.status, opc.std_time virgin-# FROM op_msg_folder opc, operator_messages opr virgin-# WHERE opr.username = 'khp' virgin-# AND opr.foldername = 'inbox' virgin-# and opr.msg_id = opc.msg_id; NOTICE: QUERY PLAN: Merge Join (cost=25037.29..27675.47 rows=47958 width=54) -> Index Scan using opmf_i on op_msg_folder opc (cost=0.00..1797.37 rows=48579 width=32) -> Sort (cost=25037.29..25037.29 rows=47958 width=22) -> Seq Scan on operator_messages opr (cost=0.00..20722.26 rows=47958 width=22) virgin=# \d operator_messages Table "operator_messages" Column | Type | Modifiers ------------+--------------+-----------msg_id | numeric |username | text |foldername | text |status | character(1) | Indexes: op_msgs_i, opr_msgs_foldername_i, opr_msgs_username_i virgin=# \d op_msgs_i Index "op_msgs_i"Column | Type --------+---------msg_id | numeric btree virgin=# \d opr_msgs_foldername_i Index "opr_msgs_foldername_i" Column | Type ------------+------foldername | text btree virgin=# \d opr_msgs_username_i Index "opr_msgs_username_i" Column | Type ----------+------username | text btree virgin=# \d op_msg_folder Table "op_msg_folder" Column | Type | Modifiers ----------------+--------------+-----------msg_id | numeric |status | character(1) |std_time |text |julian_time | text |smi | character(3) |description | text |type | text |flight | text |tail | text |dep_station | text |dest_station | text |op_description | text | Unique keys: opmf_i virgin=# \d opmf_i; Index "opmf_i"Column | Type --------+---------msg_id | numeric unique btree
В списке pgsql-sql по дате отправления: