Re: [GENERAL] slow queries
От | Wim Ceulemans |
---|---|
Тема | Re: [GENERAL] slow queries |
Дата | |
Msg-id | 003601bde2d0$e3faeeb0$67faa8c0@aladdin.nice.be обсуждение исходный текст |
Список | pgsql-general |
I also have seen this slowdown if you join more then 3 or 4 tables. I have the impression that the query analyzer just linearly searches through a number of tables in stead of add a first selects to these tables? > >ive been evaluating pgsql as a replacement for MySQL, which currently >handles all of a client's authentication needs for their websites. >however, some queries that have been blindingly fast under MySQL are >incredlbly slow under pgsql. > >for instance: > >---[ CUT ]--- >SELECT > doms.dom, types.batch, types.active, codes.code >FROM > doms,types,codes,hosts >WHERE > hosts.client=doms.client AND > doms.client=types.client AND > types.batch='FREECODE' AND > types.type=codes.type AND > hosts.hostname='somehostnamehere.com'; >---[ CUT ]--- > >under MySQL, this query takes about 2-3 seconds. under pgsql v6.3, this >query takes roughly 40 seconds to a minute. system is a P133, Linux >kernel 2.0.33, 128m mem, EIDE based ( bah ) disks. there is very little >going on while executing these queries since this is a development box. > >there are keys/indexes on hosts.client (primary), doms.client (primary), >types.batch & types.client (unique index), and types.type (primary). all >the 'client' columns are int4, types.batch is "char(8) not null". the >pgsql schema and mysql schema are the same and the indexes/keys are the >same. > >doms has about 80 rows as does hosts. types has ~350 rows, codes has 157k >rows ( a "select count(*) from codes" takes about 3 seconds to return; >MySQL returns _immediately_ ). > >am i missing something or is pgsql really that much slower ? if you need >the table layout and some sample data i can supply that... > >--- >Howie <caffeine@toodarkpark.org> URL: http://www.toodarkpark.org >[[NSNotificationCenter defaultCenter] addObserver:systemAdministrator > selector:@selector(disableUserAccount:) name:@"UserIsWhining" object:aLuser]; > > > > >
В списке pgsql-general по дате отправления: