powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тюнинг.
6 сообщений из 6, страница 1 из 1
Тюнинг.
    #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
Тюнинг.
    #32603176
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
where id = 123::bigint
...
Рейтинг: 0 / 0
Тюнинг.
    #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
Тюнинг.
    #32603228
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторERROR: syntax error at or near "FROM" at character 8

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

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

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


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

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

Ок. Большое сасибо !!!
...
Рейтинг: 0 / 0
Тюнинг.
    #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
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тюнинг.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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