[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [ot di disperazione]Postgre non recupera correttamente il backup



mox wrote:

N.B: in una tabella chiamata "inventory" è normale non usare una chiave primaria? Bha...

di sicuro questo non dipende dal nome della tabella.
Di norma una chiave primaria è utile in ogni tabella, anche perché questa genera in automatico un indice univoco che permette la creazione di foreign key che puntano a questa. Quindi per questo scopo è indispensabile ... dove si può mettere una foreign key è sempre meglio metterla (si può dire che è obbligatorio se si vuole ottenere una buona base dati).

C'è un altro punto di vista: l'indice ha un costo di accesso e tale costo è inferiore all'accesso su tutti i record della tabella solo se ci sono molti record. Quindi accedere ad una tabella piccola tramite un indice ha un costo maggiore che accedervi in full access. C'è da dire però che se si utilizzano le statistiche si evita in automatico l'uso degli indici in questi casi.
Questo secondo discorso ha un senso per database di medio-grosse dimensioni.

Io ti consiglio di far si che vi sia sempre una chiave primaria per ogni tabella ... poi ci possono essere delle eccezioni su grossi numeri (es: riempire una tabella con insert è più pesante se è già presente l'indice che non avere tale indice o crearlo solo alla fine).

Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
Client di posta: http://www.mozilla.org/products/thunderbird
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook



Reply to: