perfomance

shur
Дата: 05.06.2003 14:49:56
-- может, я чего-то не понимаю?
подскажите, пожалуйста, это нормально?
(машина PII-300, памяти хватает, к винту не обращается)

www=# EXPLAIN ANALYZE SELECT null FROM asd ;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------
Seq Scan on asd (cost=0.00..3781.78 rows=245478 width=0) (actual time=0.20..3174.70 rows=245478 loops=1)
Total runtime: 4037.19 msec
(2 rows)

структура:
www=# \d asd
Table "asd"
Column | Type | Modifiers
--------+--------------------------+---------------
dt | timestamp with time zone | default now()
temp | real |
dt1 | timestamp with time zone |
Indexes: asd_temp
Unique keys: asd_dt
Shweik
Дата: 05.06.2003 16:27:41
Или я тоже чего-то не понимаю или это
Ужасно Странный запрос - непоятно зачем такое может понадобиться? ;)
А вообще чего можно ожидать делая вывод константы для каждой строки таблицы (ведь строк в таблице около 250 тыс)?
А если запихнешь туда 1.5-2 миллиончика строк - будешь ждать ответа минут
3-5.
shur
Дата: 06.06.2003 02:47:43
я немного не про то...
можно и так:
www=# EXPLAIN ANALYZE SELECT temp FROM asd ;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------
Seq Scan on asd (cost=0.00..3781.78 rows=245478 width=4) (actual time=0.21..2141.68 rows=245478 loops=1)
Total runtime: 2757.76 msec
(2 rows)

и так:
www=# EXPLAIN ANALYZE SELECT * FROM asd ;
QUERY PLAN
------------------------------------------------------------------------------------------------------------
Seq Scan on asd (cost=0.00..3781.78 rows=245478 width=20) (actual time=0.18..2468.44 rows=245478 loops=1)
Total runtime: 3068.17 msec
(2 rows)

вопрос про производительность, как по Вашему опыту, не медленно ли на этой машине работает postgres?
PS: базовод postgresql-7.3.3
Sad Spirit
Дата: 06.06.2003 09:43:27
я всё не могу понять, что именно ты меряешь? если скорость работы диска, то для этого есть команда hdparm. эти запросы всё равно читают всю таблицу в 250к строк и поэтому за миллисекунды работать не будут.
shur
Дата: 06.06.2003 10:06:54
нет, скорость проц+postgres.
хочется понять, Seq Scan 250000 записей за 2-3 секунды - это нормально или тормозно на PII-300.
а к винту он не обращается.
Stellar.
Дата: 06.06.2003 12:50:02
[quote]
нет, скорость проц+postgres.
хочется понять, Seq Scan 250000 записей за 2-3 секунды - это нормально или тормозно на PII-300.
а к винту он не обращается.
[/quote]
Откуда же он тогда берет данные, если к винту не обращается , и как ты выяснил сей факт?
shur
Дата: 08.06.2003 08:32:36
при первром запросе, конечно, он данные с винта забирает, а при следующих - из кэша.
Sad Spirit
Дата: 08.06.2003 10:28:38
shur
> нет, скорость проц+postgres.
> хочется понять, Seq Scan 250000 записей за 2-3 секунды - это нормально или тормозно на PII-300.

Хочется понять, нахрена тебе это нужно? Обычно люди оптимизируют запросы, которые собираются часто выполнять. Если ты часто собираешься дёргать всё из таблицы в 250k записей, то рекомендую ещё раз крепко задуматься над архитектурой своего приложения.

А чтение целиком такой таблицы за такое время --- скорее нормально, чем тормозно. Она же несколько десятков мегабайт занимает, правильно?
OdbAlex
Дата: 21.06.2003 01:02:45
Вопрос к знатокам: можно ли узнать (и если да, то из каких таблиц) статистику за определенный период: количество логических и физических чтений, использование индексов, время, затраченное на разбор и на выполнение запросов, и т.д.
Или где об этом можно почитать?
Sad Spirit
Дата: 21.06.2003 13:52:29
OdbAlex:
> Или где об этом можно почитать?

А не в документации ли?
[url]http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=monitoring-stats.html#MONITORING-STATS-VIEWS