PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Interwał dopasowania PostgreSQL między czasem rozpoczęcia i zakończenia względem znacznika czasu

Był „postgres czasowy” (wygoogluj to), ale nie wiem, czy jest nadal utrzymywany… Myślę, że była dyskusja na temat włączenia tego typu wyszukiwania do postgresu, ale nie pamiętam ostatecznego stanu tego. W każdym razie :

Przykład przy użyciu pola i treści :

CREATE TABLE segments( start INTEGER NOT NULL, stop INTEGER NOT NULL, range_box BOX NOT NULL );
INSERT INTO segments SELECT n,n+1,BOX(POINT(n,-1),POINT(n+1,1)) FROM generate_series( 1, 1000000 ) n;
CREATE INDEX segments_box ON segments USING gist( range_box );
CREATE INDEX segments_start ON segments(start);
CREATE INDEX segments_stop ON segments(stop);

EXPLAIN ANALYZE SELECT * FROM segments WHERE 300000 BETWEEN start AND stop;
 Index Scan using segments_start on segments  (cost=0.00..12959.24 rows=209597 width=72) (actual time=91.990..91.990 rows=2 loops=1)
   Index Cond: (300000 >= start)
   Filter: (300000 <= stop)
 Total runtime: 92.023 ms

EXPLAIN ANALYZE SELECT * FROM segments WHERE range_box && '(300000,0,300000,0)'::BOX;
 Bitmap Heap Scan on segments  (cost=283.49..9740.27 rows=5000 width=72) (actual time=0.036..0.037 rows=2 loops=1)
   Recheck Cond: (range_box && '(300000,0),(300000,0)'::box)
   ->  Bitmap Index Scan on segments_box  (cost=0.00..282.24 rows=5000 width=0) (actual time=0.032..0.032 rows=2 loops=1)
         Index Cond: (range_box && '(300000,0),(300000,0)'::box)
 Total runtime: 0.064 ms

Jak widać, indeks gist jest tutaj śmiesznie szybki (1500 razy ! lol) (i można użyć wielu operatorów, takich jak nakładanie się, zawiera, zawiera itp.

http://www.postgresql.org/docs/8.2/static/functions-geometry.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy jesteśmy gotowi na Nordic PGDay?

  2. Łączenie się z Postgresql w kontenerze docker z zewnątrz

  3. Jak wdrożyć Teamcity z PostgreSQL w celu zapewnienia wysokiej dostępności

  4. Przegląd buforowania dla PostgreSQL

  5. Mapuj pole punktu geometrii PostGIS za pomocą Hibernate na Spring Boot