Так же хочу сказать, что лучше в настройках включать «Кеширование картинок». Хоть это и увеличивает потребление трафика при обновлении, но при этом приложение перестает пользоваться интернетом для загрузки постеров для каждого фильма, что увеличивает также скорость работы самого приложения.
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 есть. Как видите разницы нет. Могу еще на очень большой таблице попробовать, но позже.
Кеширование картинок включили?