Очень медленное сканирование кучи растровых изображений в Postgres

У меня есть следующая простая таблица, содержащая данные измерения трафика:

CREATE TABLE "TrafficData"
(
  "RoadID" character varying NOT NULL,
  "DateID" numeric NOT NULL,
  "ExactDateTime" timestamp NOT NULL,
  "CarsSpeed" numeric NOT NULL,
  "CarsCount" numeric NOT NULL
)
CREATE INDEX "RoadDate_Idx" ON "TrafficData" USING btree ("RoadID", "DateID");

Столбец RoadID однозначно определяет дорогу, данные которой записываются, а DateID определяет день года (1. .365) данных - в основном округленное представление ExactDateTime.

У меня около 100 000 000 строк: 1000 различных значений в столбце «RoadID» и 365 различных значений в столбце «DateID».

Затем я выполняю следующий запрос:

SELECT * FROM "TrafficData"
WHERE "RoadID"='Station_1'
AND "DateID">20100610 AND "DateID"<20100618;

На это уходит до трех ошеломляющих секунд, и я не могу понять, ПОЧЕМУ.

EXPLAIN ANALYZE дает мне следующий результат:

Bitmap Heap Scan on "TrafficData"  (cost=104.84..9743.06 rows=2496 width=47) (actual time=35.112..2162.404 rows=2016 loops=1)
  Recheck Cond: ((("RoadID")::text = 'Station_1'::text) AND ("DateID" > 20100610::numeric) AND ("DateID" < 20100618::numeric))
  ->  Bitmap Index Scan on "RoadDate_Idx"  (cost=0.00..104.22 rows=2496 width=0) (actual time=1.637..1.637 rows=2016 loops=1)
        Index Cond: ((("RoadID")::text = 'Station_1'::text) AND ("DateID" > 20100610::numeric) AND ("DateID" < 20100618::numeric))
Total runtime: 2163.985 ms

Мой спецификации:

  • Windows 7
  • Postgres 9.0
  • 4 ГБ ОЗУ

Я буду очень признателен за любые полезные указатели!

-121 --- 16 48380- Разница между qt и PyQt4 Что ж, я новичок в Qt и обнаружил, что с python легче работать, я не знаю, насколько это верно. но некоторые фрагменты кода имеют import qt, а некоторые - import PyQt4. Я не знаю, что за ...

Ну, я новичок в Qt и обнаружил, что с python легче работать, я не знаю, насколько это правда. но некоторые фрагменты кода имеют

 import qt 

, а некоторые -

 import PyQt4 

. Я не знаю, в чем разница. Когда я пытался их поменять местами, я получил некоторые ошибки, например, некоторая функция не распознавалась и и так далее, я также пытаюсь создать интерфейсный графический интерфейс для своего приложения, какой графический интерфейс вы бы предложили? Есть ли что-нибудь похожее на среду VB?

5
задан Amro 4 August 2012 в 18:50
поделиться