8 Şubat 2021 Pazartesi

JSON Indexing

Giriş
Açıklaması şöyle
PostgreSQL offers two types of indexes to work with JSON data.

- B-Tree index
- GIN index/Full-text search index.
1. B-Tree Index
Örnek
Index olmadan bir sorgu çalıştıralım
EXPLAIN ANALYZE SELECT * FROM books_data WHERE data ->> 'author' = 'Jessica Evans';
Çıktı olarak şunu alırız. Burada Parallel Seq Scan kullanıldığı görülüypr
Gather  (cost=1000.00..36481.22 rows=3864 width=279) ...
   Workers Planned: 2
   Workers Launched: 2
   ->  Parallel Seq Scan on books_data  ...
         Filter: ((data ->> 'author'::text) = 'Jessica Evans'::text)
         Rows Removed by Filter: 257582
 Planning Time: 0.087 ms
 Execution Time: 127.673 ms
(8 rows)
Bir index oluşturalım
CREATE INDEX author_index ON books_data ((data ->> 'author')); 
Çıktı olarak şunu alırız. Burada Index Scan kullanıldığı görülüyor
Index Scan using author_index on books_data ...
Index Cond: ((data ->> 'author'::text) = 'Jessica Evans'::text) Planning Time: 0.298 ms Execution Time: 0.091 ms (4 rows)
2. GIN index/Full-text search index.
GIN yazısına taşıdım



Hiç yorum yok:

Yorum Gönder