Mailinglisten-Archive |
> Vladislav Vorobiev wrote: > > > Sebastian Mendel <lists at sebastianmendel.de> wrote: > > > > > >>Hack, Joachim wrote: > >> > >> > >>>gestern wurde behauptet ein entscheidender Fehler wäre es keine Indizes > >>>anzulegen. => Richtig! > >>> > >>>Aber, welcher Index ist der Richtige?. > >>> > >>>Lege ich besser für jede Abfrage die aus mehreren Suchfeldern besteht einen > >>>Index mit den entsprechenden Tabellenfeldern an ODER lege ich für jedes > >>>Suchfeld einen eigenständigen Index an ODER ist das letztlich egal? > >> > >>Indizes beschleunigen zwar das finden der Daten, aber sie bremsen auch > >>das Schreiben der Daten, weil bei jedem Schreiben auch die Indizes > >>aktualisiert werden müssen. Woraus nicht resultiert das man auf Indizes > >>verzichten sollte! sondern sich lediglich gut überlegen muss welche > >>Indizes man benötigt. > >> > >>Man muss sich also überlegen ob mehr gelesen oder geschrieben wird, und > >>_WER_ liest und schreibt, wenn z.b. der 'Kunde' nur liest und der > >>'Anbieter' hauptsächlich schreibt, sollte der Kunde natürlich bevorzugt > >>werden, also lieber ein Index mehr als zu wenig! > >> > >>MySQL kann nur _ein_ Index pro Tabelle benutzen, dabei suchst es sich > >>den wohl am besten geeigneten heraus wenn es mehrere gibt, dieser sollte > >>dann so viele Felder wie möglich beinhalten die in der Anfrage im WHERE, > >>JOIN oder ORDER feld stehen! > >> > >>http://www.mysql.com/doc/en/MySQL_indexes.html > >>http://www.mysql.com/doc/en/Indexes.html > >>http://www.mysql.com/doc/en/Multiple-column_indexes.html > >> > >>wichtig ist auch die Reihenfolge der Felde im Index! > >> > >>zum Test kann man ja am Anfang mehrere Indizes anlegen und dann mit > >>EXPLAIN [SELECT ...] testen welchen MySQL verwendet und die restlichen > >>wieder löschen. > > > > > > Verstehe ich das richtig? Index ist Primery Key? Also kann es ja selten vorkommen, dass mehrere noch ein feld keine wiederhollungen beinhaltet. Nehmen wir mal das klassische beispiel > > > > TABELE > > PLZ ORT BUNDESLAND > > > > Es kann vorkommen das ich nach allem suchem muss, aber ich kann nur PLZ als Pr.Key angeben. Oder ist Index in MYSQL doch was anderes. > > Primary Key == Index > aber: > Index != Primary Key > > also: > > der Primary Key ist ein Index, und zwar ein UNIQUE INDEX > genauso wie ein Feld welches UNIQUE ist ebenfalls ein Index ist/hat > > PRIMÄRY KEY => UNIQUE => INDEX > > ein Feld oder Gruppe von Feldern ist eindeutig (Unique) wenn es der > Primary Key ist oder einen UNIQUE'n Index hat > > - du kannst für jedes beliebige Feld oder Gruppe von Feldern ein Index > anlegen, egal ob der Inhalt der Felder einmalig ist oder sich wiederholt! > > - ein Primary Key oder Unique Index kannst du nur auf Felder oder > Gruppen von Feldern anlegen deren Inhalt einmalig, also ohne > wiederholungen, ist! > > - Primary Key und Unique Index ist das selbe! der Primary Key ist ein > Unique Index, und der 1. Unique Index wird autmatisch als Primary Key > verwendet wenn kein andere Index als Primary markiert ist! Vielen Dank für die rkklärung... jetzt ist es ein für alle mal klar Grüss Vlad -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive