2012-05-04 17 views
5

Quale tipo di id è meglio per interrogare e da utilizzare come chiave esterna in mysql:Int id vs varchar id

1) Varchar id con dimensioni 20

2) Int id

risposta

8

An int è solitamente migliore, perché offre prestazioni migliori.

Se il tuo articolo ha uno natural key che è un varchar, è possibile utilizzarlo e funzionerà. Ma otterrai un miglioramento delle prestazioni (e alcuni altri benefici) aggiungendo uno surrogate key che è un numero intero. È possibile aggiungere una colonna AUTO_INCREMENT per questo scopo.

+0

Grazie mille ... –

0

ID INT sono sempre preferibile ..

È più veloce e utilizza meno memoria sul database.

Ci sono casi in cui sono necessari gli ID VARCHAR, ma INT è più efficiente

0

IDS Int sono più efficienti perché il database avrà solo per confrontare una volta.

Quindi diciamo che hai n righe. Se utilizzi uno int, nel caso peggiore dovresti considerare O(n). Dove se si utilizza uno

+8

'O (n * 20)' è esattamente lo stesso di 'O (n)'. Non è possibile utilizzare la notazione O grande per esprimere una differenza di fattore costante. –