sql >> Databáze >  >> RDS >> PostgreSQL

JSONb data:skutečná data interně?

JSON nemá typ „datum“. Typ JSONB (přidáno v Pg 9.4 ) mapy, ale nerozšiřuje se na primitivních typech JSON. Viditelná hodnota je taková, jaká je, text.

Zatímco index lze přidat přes vlastnosti řetězce, aktuální formát „anglické prózy“ se nebude moci účastnit dotazů na rozsah protože takové hodnoty nejsou dobře seřazeny podle dat.

Různé způsoby ukládání dobře uspořádaných dat vzhledem k omezením primitivního typu.

(Snímače indexu rovnosti lze použít, i když rozsahy nemohou .. za předpokladu, že se hodnoty přesně shodují, což stále podléhá použití konzistentní reprezentace dat.)

Při použití dotazu na rozsah přes index (JSONB / GIN) převeďte hodnoty DATE na příslušný datový typ JSON (mapovaný na celé číslo, numerický, text v Pg) použitý pro vlastnost "date"; ne jinak.

Při načítání hodnot převeďte zvolený formát na DATE – je to „v pořádku“, protože se to děje po dotaz na rozsah a 'povinné', protože JSONB nativně nepodporuje data ani časy.




  1. Volání uložené procedury s návratovou hodnotou

  2. Je možné vynutit zamykání na úrovni řádků v SQL Server?

  3. Připojení MySQL one-to-many s Group By vrátí pouze jedno pozorování

  4. Otázka PHP:Jak opravit tyto příkazy if/elseif