php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.12.2006, 16:29  
Benutzer
 
Registriert seit: 17.06.2005
Beiträge: 30
Bruno
Standard Frage wegen Join Verknüpfung

Hallo Leute,

ist es Geschwindigkeitsmäßig egal, ob ich für Joins in den beiden Tabellen als Schlüssel ein Integer oder ein Varchar nehme? Oder ist ein Integer grundsätzlich schneller?

Gruß
Bruno
Bruno ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.12.2006, 17:34  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

So gefühlsmässig würde ich sagen, dass Integer scho schneller ist. Zumal man zur Verknüpfung die Indizes nur numerisch gestalten sollte, um die Redundanz klein zu halten. So sollte sich die Frage eigentlich nicht stellen
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 07.12.2006, 18:57  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Integer ist garantiert schneller. Auch wenn VARCHAR vielleicht intern beim Indizieren nur durch INT ersetzt wird (Vermutung). Schneller als INT kann VARCHAR dadurch trotzdem nicht werden.
Zergling-new ist offline   Mit Zitat antworten
Alt 07.12.2006, 19:41  
Benutzer
 
Registriert seit: 17.06.2005
Beiträge: 30
Bruno
Standard

Mist, ich habs befürchtet. Ich will eine große fette schlecht Tabelle besser strukturieren und dazu aufsplitten, relational eben. Ich könnte eine bereits vorhandene eindeutige Spalte (varchar) als Schlüssel nehmen, die alte DB einfach kopieren, ein paar Spalten löschen, per Join alles abfragen und wäre in wenigen Minuten fertig.
Bruno ist offline   Mit Zitat antworten
Alt 07.12.2006, 19:55  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hm so ganz blicke ich nicht durch.
(ändert nichts an der Tatsache, dass INT schneller ist)
Hol mal etwas aus.
Zergling-new ist offline   Mit Zitat antworten
Alt 07.12.2006, 23:00  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Hmm ... Wennde scho alles neu strukturiert, wieso nimmst du dann nich als PRIMARY KEY direkt Ganzzahlen? Ich sehe keinen Vorteil von Varchar als Primkey ^^
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 08.12.2006, 00:33  
Benutzer
 
Registriert seit: 17.06.2005
Beiträge: 30
Bruno
Standard

Es stehen mehere Tabellen (eine große schreit nach Optimierung, z.B. 20 Datensätze des gleichen Kunden mit gleicher Adresse usw. aber anderen Bestellnummern) in Relation zueinander, aber als Schlüssel wird eine Text-Zahlenkombination genutzt, die der ursprüngliche Programmierer im Script generiert. Wenn ich diese Relationen ändern möchte, weil das Datenbankdesign nicht korrekt ist muss ich ja eindeutige Schlüssel haben. Da bietet sich ja ein int mit autoincrement förmlich an. Aber wie soll ich alle Relationen aufrecht erhalten, wenn ich den Schlüssel tausche bzw. neu erstelle. Ein überall vorhandenes varchar Feld könnte ich nehmen, es ist unique und ideal. Nur eben etwas langsamer (meßbar? langsamer oder nur im Kopf ) und recht ungewöhnlich.
Bruno ist offline   Mit Zitat antworten
Alt 08.12.2006, 03:52  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Na, wenn es eine Zahlenkombination in Textform ist, lässt es sich sicher umwandeln.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 08.12.2006, 11:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Es ist nur langsamer, das heißt nicht, dass es langsam ist!
Wenn du schon dabei bist, mach es gleich richtig und steige trotzdem auf einen auto_increment INT um.
Du kannst ja diese VARCHAR-Spalte als UNIQUE und INDEX markieren und damit dann trotzdem Einträge selektieren.
Zergling-new 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
Mehrfach Join lazydog Datenbanken 2 08.05.2008 16:09
Frage zu meinem JOIN Statement Benjamin Such Datenbanken 4 12.04.2008 13:20
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
SQL-Frage zum JOIN micbur Datenbanken 2 16.11.2006 23:46
INNER JOIN + Suchkriterien + Abfrage duerov PHP Tipps 2006 4 04.04.2006 12:47
inner join zeigt gleiche spalten nur 1x Datenbanken 3 22.02.2006 17:11
inner join aus db PHP Tipps 2006 8 22.01.2006 01:23
Select Problem Datenbanken 17 16.01.2006 21:54
[Erledigt] Abfrageproblem mit Inner Join Datenbanken 15 29.11.2005 18:17
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
[Erledigt] Join Datenbanken 15 09.03.2005 08:44
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
[Erledigt] kleine inner join frage... PHP-Fortgeschrittene 3 02.11.2004 22:02
[Erledigt] Relations Frage Datenbanken 6 09.09.2004 19:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php und verknüpfung integer, join schneller als verknüpfung im where

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:36 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.