Комментарии 13
Мерси-мерси.
Где-то уже была здесь первая часть.
Скачал, но до сих пор не открывал, к сожалению.
Не было рабочего проекта, чтобы начать не на мускуле его делать.
Где-то уже была здесь первая часть.
Скачал, но до сих пор не открывал, к сожалению.
Не было рабочего проекта, чтобы начать не на мускуле его делать.
Спасибо :-)
Из простого — у меня было в 8.3/8.4 — не знаю насчет 9 — «select count (*)» выполнялся значительно медленнее чем, к примеру «select count (id)». Это к стр. 26
Из простого — у меня было в 8.3/8.4 — не знаю насчет 9 — «select count (*)» выполнялся значительно медленнее чем, к примеру «select count (id)». Это к стр. 26
# Select count(id) from foo;
count
— 832489
(1 row)
# Select count(*) from foo;
count
— 832489
(1 row)
# EXPLAIN ANALYZE Select count(*) from foo;
QUERY PLAN
—
Aggregate (cost=31686.49..31686.50 rows=1 width=0) (actual time=1517.897..1517.898 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=0) (actual time=0.012..804.588 rows=832488 loops=1)
Total runtime: 1517.938 ms
(3 rows)
# EXPLAIN ANALYZE Select count(*) from foo;
QUERY PLAN
—
Aggregate (cost=31686.49..31686.50 rows=1 width=0) (actual time=1427.863..1427.863 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=0) (actual time=0.007..718.259 rows=832488 loops=1)
Total runtime: 1427.907 ms
(3 rows)
# EXPLAIN ANALYZE Select count(id) from foo;
QUERY PLAN
— Aggregate (cost=31686.49..31686.50 rows=1 width=4) (actual time=1585.013..1585.014 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=4) (actual time=0.003..720.014 rows=832488 loops=1)
Total runtime: 1585.055 ms
(3 rows)
# EXPLAIN ANALYZE Select count(id) from foo;
QUERY PLAN
— Aggregate (cost=31686.49..31686.50 rows=1 width=4) (actual time=1534.714..1534.715 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=4) (actual time=0.007..697.873 rows=832488 loops=1)
Total runtime: 1534.765 ms
(3 rows)
Индекс на id есть. Как видите разницы нет. Могу еще на очень большой таблице попробовать, но позже.
count
— 832489
(1 row)
# Select count(*) from foo;
count
— 832489
(1 row)
# EXPLAIN ANALYZE Select count(*) from foo;
QUERY PLAN
—
Aggregate (cost=31686.49..31686.50 rows=1 width=0) (actual time=1517.897..1517.898 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=0) (actual time=0.012..804.588 rows=832488 loops=1)
Total runtime: 1517.938 ms
(3 rows)
# EXPLAIN ANALYZE Select count(*) from foo;
QUERY PLAN
—
Aggregate (cost=31686.49..31686.50 rows=1 width=0) (actual time=1427.863..1427.863 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=0) (actual time=0.007..718.259 rows=832488 loops=1)
Total runtime: 1427.907 ms
(3 rows)
# EXPLAIN ANALYZE Select count(id) from foo;
QUERY PLAN
— Aggregate (cost=31686.49..31686.50 rows=1 width=4) (actual time=1585.013..1585.014 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=4) (actual time=0.003..720.014 rows=832488 loops=1)
Total runtime: 1585.055 ms
(3 rows)
# EXPLAIN ANALYZE Select count(id) from foo;
QUERY PLAN
— Aggregate (cost=31686.49..31686.50 rows=1 width=4) (actual time=1534.714..1534.715 rows=1 loops=1)
-> Seq Scan on foo (cost=0.00..29612.79 rows=829479 width=4) (actual time=0.007..697.873 rows=832488 loops=1)
Total runtime: 1534.765 ms
(3 rows)
Индекс на id есть. Как видите разницы нет. Могу еще на очень большой таблице попробовать, но позже.
Это было исправлено давно:
git.postgresql.org/gitweb?p=postgresql.git;a=commit;h=108fe4730152058f9b576969d08898b39bf7fc38
А до этого действительно count(*) исполнялся несколько отлично от count(1)
git.postgresql.org/gitweb?p=postgresql.git;a=commit;h=108fe4730152058f9b576969d08898b39bf7fc38
А до этого действительно count(*) исполнялся несколько отлично от count(1)
Проблемы со скачиванием epub файла — Firefox4 показывает как text/plain, а Opera скачивает *.zip.
Спасибо! Читал предыдущую версию — очень понравилась. Только с грамматикой проблемы были)
Не забрасывайте!
Не забрасывайте!
Большое спасибо за книгу — отличный хенд-бук. Вы, случаем, не планируете печататься? Я бы с радостью приобрёл бумажный вариант.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Книга «Работа с Postgresql: настройка, масштабирование», версия 2