Servus,
Also sehr nett Deine Idee habe ich prompt gemacht.
Backup der Datenstämme eines Payback Systemes auf eine Testumgebung gezogen und mal eine Suche über knapp 32 mio Kundendaten geschickt.
Bei der Ermittlung der Daten habe ich folgendes gesucht:
Die INT ID die Kontonummer ID sowie die Rabatt Kathegorie.
Alles int.
Char bzw. einmal Name Strasse und Ort.
Während bei der Ermittlung der Kontonummer und einer anderen suche nach der ID der Betreffende Datensatz innerhalb 128 ms gefunden wurde, dauerte die Suche nach allen etwa 278 000 Kunden der Kathegorie 25 knapp 512 ms.
Bei der Suche nach den in der Schillerstrasse wohnhaften 84 712 treffern dauerte etwas von 16,8 Sekunden. Bei allen Vornamen mit Martha 7 629 treffer, dauerte die suche knapp 32 Sekunden.
Nach Indizierung der Daternstämme, wobei ich jeweils nur die zu befragende Spalte indizierte, ergaben sich folgende Werte:
120 ms , 492 ms, 3,7 ms sowie 9,4 ms.
Eingesetzes System Solaris 8 / Oracle 10 i
»» wenn ich mich nicht ganz täusche, dann rühmt sich mysql gerade damit, besonders schnell zu sein, auch im vergleich mit dbms wie oracle. du solltest einen entsprechende grafik bei mysql dazu finden.
Das rühmt sich Fox Pro auch. Bei simultanten abfragen und hohen Benutzerzugriffen bröckenln die Zeite rapide. Dann haben verschiedene Datenbanklsysteme ganz schön die Hosen unten.
Es wurde durchaus in erwägung gezogen ein anderes DBMS System zu verwenden.
Mangelnde Funktionalität und die durchaus bei den geforderten Zugriffen nicht erreichbare Performanced hat Oracle siegen lassen.
Gut MS SQL wäre noch eine alternative gewesen sogar die bessere. Man wollte aber kein Windows.
und da du einen link nicht zeigen kannst, nochmal eine frage, wie soll den das dbms eine solche sortierte liste für int werte erstellen, ohne jeden datensatz einmal angefassen zu müssen ?
Lies die genannten Bücher da steht es drin.
Beim laden der oder suchen der Integer muss mehr oder minder die DB auch über alle Datensätze drüber. Aber erhält schon beim auslesen eine sortierte Liste, was bei char nicht möglich ist.
Damit muss dann beim Suchprozess nicht mehr jede Spalte angefasst werden, sonder es sticht der Zeiger in den mittigsten Datensatz schaut drüber oder drunter.... wie ich es schon beschrieben habe.
Eine Referenz zum nach sehen hast Du ja.
MYSQL. die Kochen auch nur Wasser wie viele Referenzen willst Du noch?
Soll ich aus den knapp 10 MB komprimierten Quellcode noch die stelle raus suchen?
Sorry, so wichtig ist es mir nicht dir zu beweisen, dass Ich im Studium und meiner späteren Arbeit Augen und Ohren offen gehalten habe.
Bücher habe ich Dir auch genannt. Hör also auf mit Vermutungen und ich glaube.
Überprüf ob meine Aussage stimmt oder spar Dir Deine Energie zum lernen, wie DBMS Systeme funktionieren.
Gruss Matze