PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Khoảng thời gian so khớp PostgreSQL giữa thời gian bắt đầu và kết thúc so với dấu thời gian

Đã có "postgres tạm thời" (google nó) nhưng tôi không biết nó có còn được duy trì hay không ... Tôi tin rằng đã có một cuộc thảo luận về việc đưa loại tìm kiếm này vào postgres nhưng tôi không nhớ trạng thái cuối cùng của nó. Dù sao đi nữa:

Ví dụ sử dụng hộp và ý chính:

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

Như bạn có thể thấy, chỉ mục ý ở đây nhanh đến mức kỳ lạ (1500 lần! Lol) (và bạn có thể sử dụng nhiều toán tử như chồng chéo, được chứa, chứa, v.v.

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. Lỗi khi đẩy dữ liệu sang Heroku:dịch chuyển múi giờ ra khỏi phạm vi

  2. Danh sách kiểm tra tuân thủ SOx cho PostgreSQL

  3. K-Nearest Neighbor Query trong PostGIS

  4. Thêm 'nối tiếp' vào cột hiện có trong Postgres

  5. Nâng cấp dựa trên trình kích hoạt tùy chỉnh cho PostgreSQL