pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tomasz Myrta <jasiek@klaster.net>
To: ernest_it@hotmail.com <ernest_it@hotmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: create index
Date: Tue, 19 Nov 2002 15:13:13 +0100
Message-ID: <3DDA46F9.6060304@klaster.net> (raw)
References: <10d6eb7c.0211182244.ec57100@posting.google.com>

Uz.ytkownik ernest_it@hotmail.com napisa?:
> i don't know how to create the index about the following statement.
> 
> 
> SELECT b.screen_id AS screen_id, b.name AS screen_name
> FROM tbl_showlog AS a CROSS JOIN
> tbl_screen AS b CROSS JOIN
> tbl_company AS c
> WHERE a.screen_id = b.screen_id
> AND b.company_id = c.company_id
> AND c.company_id = 1
> AND c.is_active = 1
> GROUP BY b.screen_id, b.name
> ORDER BY b.screen_id
Change your query to explicit joins. It looks much better and explains 
directly your problem.

Example:
SELECT screen_id, B.name as screen_name
FROM
  tbl_company C
  join tbl_screen B using (company_id)
  join tbl_showlog A using (screen_id)
WHERE
  company_id=1 and is_active=1


I don't know how many records do you have, but try to create indexes:
1. tbl_company -> company_id
2. tbl_screen -> company_id
3. tbl_showlog -> screen_id


Regards,
Tomasz Myrta




view thread (4+ messages)

Message-ID: <3DDA46F9.6060304@klaster.net>
Permalink:  ../3DDA46F9.6060304@klaster.net/
Also on:    postgresql.org/message-id/3DDA46F9.6060304@klaster.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: jasiek@klaster.net, ernest_it@hotmail.com
  Subject: Re: create index
  In-Reply-To: <3DDA46F9.6060304@klaster.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox