2015-09-25 16 views
11

Django 1.8 zapewnia HStoreField i Django 1.9 zapewni JSONField (który używa jsonb) dla PostgreSQL.Kiedy należy używać HStoreField zamiast JSONField?

Rozumiem, że hstore jest szybszy niż json, ale nie pozwala na zagnieżdżanie i pozwala tylko na łańcuchy.

Kiedy należy używać nad innymi? Czy należy preferować się nad drugim? Czy hstore nadal jest wyraźnym zwycięzcą wydajności w porównaniu do jsonb?

Odpowiedz

10

Jeśli potrzebujesz indeksowania, użyj jsonb, jeśli używasz wersji 9.4 lub nowszej, w innym przypadku hstore. Naprawdę nie ma powodu, aby preferować hstore przez jsonb, jeśli oba są dostępne.

Jeśli nie trzeba indeksowanie i szybkie przetwarzanie i jesteś po prostu przechowywanie i odzyskiwanie potwierdzonych danych, używać zwykłego json. W przeciwieństwie do pozostałych dwóch opcji zachowuje duplikaty klawiszy, formatowanie, porządkowanie klawiszy itp.

Powiązane problemy