MySQL Varchar oder Bigint ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anlegen
bit
dank
element
gewaltigen unterschied
index
intern macht
kodierung
machen
positive zahlen
relation
spalte
speichern
stimmen
unterschied
url
wertebereich
zahl
zahlenwert
ziffer
-
Hallo
ich eill eine MySQL Tabelle anlegen in dem der "wichtigste" Wert eine lange Zahlenfolge ist
da ich oft nach diesem Zahlenwert suchen werde, will ich die Spalte als Index anlegen
die Zahl ist aber z.T auch mal mehr als 10 Zeichen (Ziffern) lang, daher geht einfaches int nicht
aber viel drüber ist die Ziffern-Anzahl auch nicht, maximal 14
soll ich jetzt für die Spalte als Datentyp eher bigint oder varchar nehmen ??
macht das überhaupt einen Unterschied ?
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
BIGINT
Ja, intern macht das einen gewaltigen Unterschied. Ein BIGINT wird direkt so binär gespeichert, wogegen bei einem VarChar für jedes Element ein Char gespeichert werden muss, und ein Char ist je nach Kodierung 1byte mindestens Lang, wogegen der BIGINT standartgemäß einfach 4byte lang ist. Also BIGINT: 4byte , VARCHAR255: 255 * kodierung viele Bytes, was also mindestens 255bytes wären.
Ich glaube die Zahlen stimmen nicht ganz, aber die Relation. Der BIGINT ist Datensparsamer, und sollte darum gewählt werden.
Liebe Grüße -
ok danke
dann nehme ich bigint(20) anstatt varchar(20)
lohnt es sich bigint auf UNSIGNED einzustellen ?
-
cptgame schrieb:
Damit wird der Wertebereich zwar auf positive Zahlen beschränkt, dafür kannst du eine (fast) doppelt so große Zahl speichern, da dir 1 Bit mehr zur Verfügung steht.
lohnt es sich bigint auf UNSIGNED einzustellen ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage