From: | Popeanga Marian <pmarian(at)cnlo(dot)ro> |
---|---|
To: | Rajesh Kumar Mallah <mallah(at)trade-india(dot)com> |
Cc: | Roberto Mello <rmello(at)cc(dot)usu(dot)edu>, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: explain |
Date: | 2003-03-21 12:35:16 |
Message-ID: | 3E7B0704.9020305@cnlo.ro |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Ok i'll try to explain you in detail what i am trying to accomplish.
I am working at a cross platform tool for administration (and many more
) of Oracle , Postgresql, MySql
http://cptd-proj.sourceforge.net
I don't have many knowledge as a postgresql user or dba. I have
worked with Oracle mainly.
In Oracle explain plans are stored into a special table named PLAN_TABLE
so when i issue
explain plan set statement_id=uniq_id_for_select for
select * from dba_tables where table_name=:tab
new entrys with the explain plan are inserted into this special table.
And you can select those entrys from this PLAN_TABLE and show it into a
widget.
SELECT * FROM plan_table WHERE Statement_ID = uniq_id_for_select
Now the issue i encounter is that i want to show the excution plan for
connections against PostgreSql DB too, but i don't know from where to
find this information.
I noticed that pgsql is able to explain plan for selects.
But how ?
Rajesh Kumar Mallah wrote:
>Hi,
>
>
>Marian i am not too familiar with oracle features.
>
>Can you tell us the problem you are trying to solve.
>
>lemme try to understand the below.
>
>
>
>>>In Oracle i will do:
>>>explain plan set statement_id=uniq_id_for_select for
>>> select * from dba_tables where table_name=:tab
>>>
>>>
>
>
>what does it do ?
>assigning a uniq_id to the query "select * from dba_tables where table_name=:tab"
>is the query an example query or a fixed method of accomplising something?
>
>
>
>
>>>SELECT * FROM plan_table WHERE Statement_ID = this_uniq_id_for_select;
>>>
>>>
>>>
>
>is plan_table supposed to store execution plans of all the queries being
>executed by dbserver , or only certain queries you are marking by
>some mechanism?
>
>In case you are wanting to see the execution plan and query times of each and every
>query there is a crude method.
>
>(DISCLAIMER: the opinions are mine and does not reflects others')
>
>enable logging to appropriate levels , postmaster can log execution plans
>and timings in a file.
>you will find more details in Admin Docs.
>
>Regds
>mallah.
>
>
>
>On Friday 21 Mar 2003 4:30 pm, Popeanga Marian wrote:
>
>
>>Popeanga Marian wrote:
>>
>>
>>
>>>Thanks for your repply.
>>>
>>> This is what i expected too. Can you point me from where i
>>>can get this result ?
>>>
>>>explain select * from pg_tables where tablename=:tab;
>>>
>>>
>>>select * from ... ?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>I need this at programming level, not from within pgsql tool.
>>I tryed directly with explain select ... but it doesn't retrive any tuples!
>>
>>
>>
>>>Rajesh Kumar Mallah wrote:
>>>
>>>
>>>
>>>>Dear Marian,
>>>>
>>>>in postgresql 7.3 explain commands retruns as
>>>>set of rows.
>>>>
>>>>The result of EXPLAIN can just be fecthed as result
>>>>of any other SELECT query and manipulated further.
>>>>
>>>>i hope it helps.
>>>>
>>>>sorry if i did not get ur problem rite.
>>>>
>>>>
>>>>regds
>>>>mallah.
>>>>
>>>>
>>>>
>>>>
>>>>On Friday 21 Mar 2003 11:51 am, Popeanga Marian wrote:
>>>>
>>>>
>>>>
>>>>
>>>>>Roberto Mello wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>On Fri, Mar 21, 2003 at 07:46:01AM +0200, Popeanga Marian wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Hello all,
>>>>>>>
>>>>>>>
>>>>>>> Can someone point me how can i make explain plan for a query?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>explain select blah from foo where bar = baz;
>>>>>>
>>>>>>\h explain
>>>>>>
>>>>>>Look at the PostgreSQL documentation (SQL Reference).
>>>>>>
>>>>>>-Roberto
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> I have look at this command. I want to know how can i make this from
>>>>>other tool than pgsql.
>>>>>In oracle when i issue an explain plan the explain insert values into a
>>>>>table ( plan_table ).
>>>>>Then i could select the values from plan_table. Is there similar
>>>>>in postgres ?
>>>>>
>>>>>--
>>>>>Popeanga Marian
>>>>>DBA Oracle
>>>>>CNLO Romania
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>--
>>>Popeanga Marian
>>>DBA Oracle
>>>CNLO Romania
>>>
>>>
>>>
>>>
>>>
>>--
>>Popeanga Marian
>>DBA Oracle
>>CNLO Romania
>>
>>
>>
>>
>>
>
>
>
--
Popeanga Marian
DBA Oracle
CNLO Romania
From | Date | Subject | |
---|---|---|---|
Next Message | A.Bhuvaneswaran | 2003-03-21 13:08:00 | Re: explain |
Previous Message | Rajesh Kumar Mallah | 2003-03-21 12:10:27 | Re: explain |