Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тюнинг. / 6 сообщений из 6, страница 1 из 1
14.07.2004, 10:30
    #32603143
Alex Kab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
Добрый день.
Есть PostgreSQL Server 7.4.2, работает на FreeBSD 5.2.1
Есть табличка sq_logfile

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Table "public.sq_logfile"
      Column      |            Type             |                         Modifiers
------------------+-----------------------------+------------------------------------------------------------
 id               | bigint                      | not null default nextval('public.sq_logfile_id_seq'::text)
 tstime           | timestamp without time zone |
 duration         | integer                     |
 client_addr_id   | integer                     | not null default 0
 resultcode_id    | integer                     | not null default 0
 requestsize      | integer                     |
 requestmethod_id | integer                     | not null default 0
 url              | text                        |
 username_id      | integer                     | not null default 0
 hierarchycode_id | integer                     | not null default 0
 contenttype_id   | integer                     | not null default 0
Indexes:
    "sq_logfile_pkey" primary key, btree (id)
    "idx_sq_logfile1" btree (tstime)
    "idx_sq_logfile2" btree (client_addr_id)
    "idx_sq_logfile3" btree (username_id)
    "idx_sq_logfile4" btree (url)
    "idx_sq_logfile5" btree (tstime, url, username_id)
Foreign-key constraints:
    "$1" FOREIGN KEY (client_addr_id) REFERENCES sq_clientaddr(id)
    "$2" FOREIGN KEY (resultcode_id) REFERENCES sq_resultcodes(id)
    "$3" FOREIGN KEY (requestmethod_id) REFERENCES sq_requestmethods(id)
    "$4" FOREIGN KEY (username_id) REFERENCES sq_username(id)
    "$5" FOREIGN KEY (hierarchycode_id) REFERENCES sq_hierarchycodes(id)
    "$6" FOREIGN KEY (contenttype_id) REFERENCES sq_contenttypes(id)

В табличке 2,6 млн записей. Почему по инджексированному полю (id, к примеру)
такие жуткие тормоза. Запрос SELECT id FROM sq_logfile WHERE id=123 отрабатывает 18 секунд. И это по ключевому полю.
VACUUM FULL делал.

squid=# EXPLAIN SELECT id FROM sq_logfile WHERE id=123;
QUERY PLAN
--------------------------------------------------------------
Seq Scan on sq_logfile (cost=0.00..69490.30 rows=1 width=8)
Filter: (id = 123)
(2 rows)

какие-нибудь мысли по оптимизации?
...
Рейтинг: 0 / 0
14.07.2004, 10:43
    #32603176
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
where id = 123::bigint
...
Рейтинг: 0 / 0
14.07.2004, 10:54
    #32603199
Alex Kab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
LeXa NalBatwhere id = 123::bigint

Не совсем понял.
squid=# SELECT FROM sq_logfile where id = 123::bigint;
ERROR: syntax error at or near "FROM" at character 8
squid=#

Даже если это и так, это в каждом запросе для того чтобы юзался индекс нужно ручками указывать?
...
Рейтинг: 0 / 0
14.07.2004, 11:05
    #32603228
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
авторERROR: syntax error at or near "FROM" at character 8

Вы не указали поля в select: select * from

авторДаже если это и так, это в каждом запросе для того чтобы юзался индекс нужно ручками указывать?

Для "нестандартных" типов (например bigint) я иного способа не знаю.
...
Рейтинг: 0 / 0
14.07.2004, 11:16
    #32603273
Alex Kab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
автор
Вы не указали поля в select: select * from


Сорри, руки :-)

автор
Для "нестандартных" типов (например bigint) я иного способа не знаю.

Ок. Большое сасибо !!!
...
Рейтинг: 0 / 0
15.07.2004, 11:27
    #32605460
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тюнинг.
В моей версии:

version
---------------------------------------------------------------------
PostgreSQL 7.4.2 on i386-portbld-freebsd4.8, compiled by GCC 2.95.4

это еще не пофиксено, НО:

Actually, this has already been fixed in CVS HEAD (as I mentioned in this thread yesterday). To wit:

nconway=# create table t1 (a int8);
CREATE TABLE
nconway=# create index t1_a_idx on t1 (a);
CREATE INDEX
nconway=# explain select * from t1 where a = 5;
QUERY PLAN
--------------------------------------------------------------------
Index Scan using t1_a_idx on t1 (cost=0.00..17.07 rows=5 width=8)
Index Cond: (a = 5)
(2 rows)
nconway=# select version();
version
------------------------------------------------------------------------------------
PostgreSQL 7.5devel on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.3 (Debian)
(1 row)

-Neil


а вообще почитай вот здесь: http://]http://archives.postgresql.org/pgsql-performance/2004-03/msg00098.php
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тюнинг. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]