php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.08.2009, 18:47  
Benutzer
 
Registriert seit: 04.06.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
mschaer befindet sich auf einem aufstrebenden Ast
Standard Datentypen - int

In meiner Datenbank verwende ich für Zahlen fast immer int(65).

Zur Frage, wie gross die Zahl sein darf, die ich in das Feld speichere, liest man meistens irgendwas in der Art:
Zitat:
Ganzzahlen von 0 bis ~4,3 Mill. oder von -2.147.483.648 bis +2.147.483.647
Was brint mir dann aber das "(65)", dass ich immer angebe? Eigentlich sollte ich mit int(5) maximal eine 5-stellige Zahl speichern können, oder nicht?

Da int nur bis 4,3 Mill. geht, würde es also nichts ausmachen, ob ich int(11) oder int(65) benutze?


Gruss
Michael
mschaer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.08.2009, 19:01  
Benutzer
 
Benutzerbild von echo
 
Registriert seit: 20.09.2008
Beiträge: 91
PHP-Kenntnisse:
Anfänger
echo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Superprofis hier mögen mich korrigieren , aber ich kann mich erinnern, in einem SQL-Buch mal gelesen zu haben, dass Deine MysQL IMMER 65 Zeichen in jedem Feld speichert, wenn Du int(65) eingibst, selbst wenn Dein Eintrag nur eine Ziffer enthält. Die übrigen 64 Zeichen füllt MySql dann mit Leerzeichen.

In Hinblick auf Performance und Speicherplatz ist es daher dringend zu empfehlen, die Feldgröße so genau wie möglich und nur so groß wie unbedingt nötig zu spezifizieren!
echo ist offline   Mit Zitat antworten
Alt 24.08.2009, 08:25  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von echo Beitrag anzeigen
In Hinblick auf Performance und Speicherplatz ist es daher dringend zu empfehlen, die Feldgröße so genau wie möglich und nur so groß wie unbedingt nötig zu spezifizieren!
Die muss überhaupt nicht definiert werden. Die Angabe bezieht sich ausschliesslich auf die Ausgabe und hat keinerlei Einfluss auf den Speicherbedarf oder die maximale Grösse einer Zahl, die gespeichert werden kann.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.08.2009, 09:34  
Benutzer
 
Benutzerbild von echo
 
Registriert seit: 20.09.2008
Beiträge: 91
PHP-Kenntnisse:
Anfänger
echo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, die Feldgröße muss nicht angegeben werden.

Aber bei ZEROFIL würden dann auch immer 65 "Zeros" geschrieben.

Und was Performance betrifft: Ist es nicht so, dass eine Abfrage schneller ist, wenn MySql "weiß", dass MySql nur 5 Zeichen pro Feld durchsuchen muss statt z.B. 65?

Geändert von echo (24.08.2009 um 09:37 Uhr).
echo ist offline   Mit Zitat antworten
Alt 24.08.2009, 09:53  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von echo Beitrag anzeigen
Aber bei ZEROFIL würden dann auch immer 65 "Zeros" geschrieben.
Auch das betrifft nur die Ausgabe
Zitat:
Zitat von echo Beitrag anzeigen
Und was Performance betrifft: Ist es nicht so, dass eine Abfrage schneller ist, wenn MySql "weiß", dass MySql nur 5 Zeichen pro Feld durchsuchen muss statt z.B. 65?
Hast du den Link angesehen? Und weisst du, wie Zahlen gespeichert werden? Da werden doch nirgends Zeichen durchsucht!
Das was du schreibst, mag für Zechenketten zutreffen, aber sicher nicht für Zahlen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.08.2009, 19:41  
Benutzer
 
Registriert seit: 04.06.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
mschaer befindet sich auf einem aufstrebenden Ast
Standard

Das heisst im Klartext, dass in der Datenbank maximal die Zahl 4.294.967.295 gespeichert werden kann, egal ob ich int(11) oder int(65) angebe ?
mschaer ist offline   Mit Zitat antworten
Alt 24.08.2009, 20:03  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

MySQL :: MySQL 5.1 Referenzhandbuch :: 11.2 Numerische Datentypen

Der kleinste gemeinsame Wert von Zeichenraum und Zeichenlänge entscheidet über die Größe, bei INT(65) ist das der Zeichenraum, der maximal eben bis 2^32 - 1 geht.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datentypen: varchar(65.535) vs. text coding007 Datenbanken 18 07.07.2010 17:25
12 != 12 ?? Datentypen? dav1d PHP Tipps 2009 13 26.02.2009 02:16
Frage zu Datentypen und Indizes tayke Datenbanken 2 29.10.2006 04:00
[MSSQL + PHP] Konflikt zwischen Datentypen / Probleme bei IN winfo_cologne PHP Tipps 2006 3 29.03.2006 14:05
Datentypen in MySQL Datenbanken 12 02.02.2006 15:34
Datentypen und deren Größe Datenbanken 5 29.11.2005 08:38
[erledigt]SQL: Datentypen in Kriterienausdruck unverträglich PHP Tipps 2005-2 2 11.07.2005 09:51
[Erledigt] Select Statement - Order by Problem mit Datentypen Datenbanken 6 03.06.2005 16:02
Dokumentation Datentypen PHPMyAdmin Lia PHP Tipps 2005 3 14.04.2005 15:02
Java Datentypen umwandeln HTML, Usability und Barrierefreiheit 8 07.02.2005 16:18
Größe einer Datenbank und Datentypen anzeigen Klaus Datenbanken 2 18.12.2004 16:21
Variable Datentypen PHP Tipps 2004-2 8 24.11.2004 00:40
in_array, falsche Datentypen... :-( PHP Tipps 2004 1 21.10.2004 14:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datentyp int php, php \\int, zahlentyp int php, zeichenlänge int, php feld datentyp int, php datentypen feldgröße, datentypen php int, php sql datentyp integer, datentyp int php größe, datentyp int php länge, zeichenlänge int mysql, php datentypen int, feldgröße so groß wie nötig, sql datentypen \int(11)\, zeichen als zahl int php, speicherplatzbedarf zechenkette

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum