Primärschlüssel mit uniqid()

Na fein.. das kann ja was werden..
Mein Test war eher dahingehend gedacht, dass Du wirklich den Knick siehst...
Bei den ersten 10.000 Durchläufen wird die Zeit kaum variieren..
Aber irgendwann wird ein Knick kommen, denn man mit dieser Variante schön sieht..

Wie dem auch sei, danke für den Test.
Ich habe auch die Vermutung, das bei einer indizierten Tabelle dieser Größenordnung die laufende Indizierung extrem viel performance kostet (hab da mal sowas läuten hören).

Welche andere Möglichkeit gebe es noch, die Plätze statisch zu speichern Jeden Sektor als eigenes XML File? Da wäre die Anzahl dann wohl ziemlich egal und es wäre alles schön gegliedert. Andererseits sind die in PHP verfügbaren XML Parser auch nicht gerade die schnellsten...

Hast Du eine Idee für eine andere Variante

LG
Mike
 
Mik3e hat gesagt.:
Aber irgendwann wird ein Knick kommen, denn man mit dieser Variante schön sieht..
Das ist mir klar, aber da die Suche über die ID unter 0,1 sec dauert wird Dir alleine in einer grafischen Darstellung der Knick nicht auffallen und erst recht nicht anhand der Zahlenkollonne.

EDIT: Wie gesagt, so lange Du die einzelnen Einträge über die ID ansprechen kannst, wirst Du kaum Probleme haben. Erst wenn Du Volltextsuche benötigst, wird es kritisch, aber das ist in den anderen Möglichkeiten, die mir einfallen (dateibasiert, egal, ob XML oder anders) eher noch zeitkritischer.

Gruß hpvw
 
Zuletzt bearbeitet:
Da hast Du recht.
Man könnte den SELECT natürlich auch auf das Textfeld mit einem LIKE legen.. Es sollte halt nur immer die idente Abfrage sein...
 
hpvw hat gesagt.:
Eine halbe Stunde arbeitet er am Index, aber jetzt will ich meine Platte wiederhaben.
Sorry, aber der Test mit Index wird nichts mehr.
LOL, ich dachte ich hätte die Indexierung abgebrochen, aber weit gefehlt. Ich war noch 'ne Runde unterwegs und habe meinen Rechner angelassen. Nun komme ich zurück und höre die Platte arbeiten, eigentlich sollte der Rechner ganz friedlich sein und Däumchen drehen.
Ich mach den Taskmanager auf und sehe mysql-nt mit 'ner CPU-Auslastung von stetig über 10%. Also schnell mal die Plattenkapazität prüfen: Es fehlen weitere 2 GB. Mal sehen, wie lange er noch braucht, vielleicht lasse ich ihm die Nacht.
Dann könnte es doch noch was mit einem weiteren Test werden.

Gruß hpvw
 
Schönen guten Morgen!

WAT? 2 GIG
Verdammt noch eins... warn ja nur 2,1 mio Datensätze..
Auf welches Attribut hast Du den Index eigentlich gelegt Auf das Textfeld?

Ich verwende die Indexierung eigentlich meistens nur bei Fremdschlüsseln in Tabellen (INT Werte).

Dennoch kommen mir 2Gig für "nur" 2,1 mio Datensätze schon seeeeeeehr heftig vor. Ich muss gestehen, dass ich keine Ahnung hab, wie MySQL die Indizierung im Detail angeht, aber das ist mächtig böse :-)

Nachdem meine SELECT aber bei meiner Platztabelle nur auf den Primärschlüssel gehen (keine orthographische Suche), ist eine Indexierung in meinem Fall aber wahrscheinlich sowieso unnötig...

LG
Mike
 
Vielleicht benötigt er auch nur so viel als "Zwischenspeicher" zum Erzeugen.
Der Index sollte auf das CHAR-Feld gehen, um evtl. die Suche zu beschleunigen.
Da er jetzt jedoch immer noch nicht fertig ist habe ich das Ganze doch mit einem Neustart abgebrochen.
Für eine Suche über den Primärschlüssel ist MySQL ja schnell genug.

Gruß hpvw
 
Schlimme sache.. in wirklichkeit hinterlegt er für den Index ja nur einen Table nehme ich an.. Ich vermute das Problem war das CHAR Feld. Bei numerischen Werten wird das hoffentlich kein wirkliches Problem...
 
Zurück