2017-11-21 1 views
2

Ich habe eine Spalte in meiner Datenbank, in der ich etwas namens external_ids speichern möchte.JSONB oder Array von Einträgen

Also irgendwie mein Tisch sieht aus wie

id (int, pk..) 
name (text...) 
description (text...) 
external_ids (int[]) 

Ich weiß, dass mein Anwendungsfall mehr Zahlen in dieser Zeile zu speichern ist, und sie müssen nie etwas darüber hinaus sein.

Gibt es angesichts dieser Anforderung einen Grund, diesen Typ zu einem JSONB zu machen, oder bekomme ich mehr Vorteile, wenn ich ein Array halte?

+1

Werden diese Zahlen als relationale Daten verwendet oder handelt es sich nur um dumme Daten? Mit einer 'ARRAY'-Spalte können Sie sicher sein, dass es sich um ein Array handelt. Bei 'JSONB' könnte es sich um eine beliebige Anzahl von Dingen handeln, von denen viele keinen Sinn ergeben. – tadman

+0

Es ist nur dumm Daten. – Rhs

+1

Die Verwendung von 'ARRAY' ist wahrscheinlich in Ordnung. – tadman

Antwort

2

JSON bietet mehr Flexibilität als ein Array. In diesem Fall, in dem die Daten immer eine Reihe von Ganzzahl-IDs sind, ist die Verwendung von JSON nicht sinnvoll. Bleib einfach bei einem Array.

+1

Als Bonus haben Postgres 'ARRAY'-Typen konkrete Postgres-Typen. JSON kann ein bisschen wild und widerspenstig werden. – tadman

Verwandte Themen