tuning large selects

Поиск
Список
Период
Сортировка
От Werner Reisberger
Тема tuning large selects
Дата
Msg-id 19991029213603.B830@tribe.free.de
обсуждение исходный текст
Ответы Re: [SQL] tuning large selects  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
I am running a db (v. 6.4.2) accessible via DBI/Pg from the internet. 
Recently I observed several running postmaster processes consuming lots of CPU,
resulting in a high load of the machine. There was nobody connected to
the db from the net. Later I saw that my db partition was filled to 100 %
by a huge file (pg_psort.189xx). My db partition is approx. 950 MB. The
db consumes 15 MB and the file consumed the rest. 

I guess the pg_psort file grew to this dimension because the select
possibilities I am offering via the CGI are not well designed. Maybe
someone could give me some advice how to make it more efficient. 

The select in question accesses only one table (notcat) with approx.
6000 rows and 15 columns. The CGI allows to choose how many columns will
be returned as a result and what columns are used to constrain the search.
There are 8 columns which can be used to constrain the search. The values
of each such column are Or-ed together in the where clause. The columns
itself are AND-ed.

Example:

select * from notcat where (col1 ~* 'val1' OR col1 ~* 'val2' ....) AND        (col2 ~* 'val1' OR col2  ~* 'val2' ....)
AND(col3 ~* 'val1' ...
 


To make things worse there could be several dozens values in each column
used in the where clause.

--Werner


В списке pgsql-sql по дате отправления:

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: random query
Следующее
От: Andrew Patterson
Дата:
Сообщение: Combining Two Tables