phpbar.de logo

Mailinglisten-Archive

Re: Einige Fragen
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Einige Fragen




On 10-Feb-2001 Kalle Klopsch wrote:
> Ich habs mal ausprobiert mit dem Index-Key.
> Also PRIMARY KEY (uid,gid)
> 
> Auf der anderen hab Seite ich diese Zeile auch weggelassen und dafür :
> 
> 'KEY Kuser(uid,gid)'  angegeben.
> 
> Bei der Auswertung hab ich bemerkt, daß der KEY plötzlich
> 'Kuser' heißt, alles andere blieb gleich.
> 
> Dann hab ich mal BEIDES eingetragen : also
> 
> -1- PRIMARY KEY (uid,gid)
> -2- KEY Kuser(uid,gid)

Fangen wir mal gaz einfach an: es gibt dei Möglichkeit, auf Spalten in Tabellen 
nen Index zu legen. Ein Index enthält ganz einfach Informationen darüber, in
welchen Datensätzen in der Datenbank bestimmte Werte stehen, und hat den
Vorteil, das diese Daten dann sehr schnell gefunden werden können. Ein Index
beschleunigt also Lesezugriffe auf die Spalte(n), auf die er definiert ist. Bei
nem Select werden z.T. sehr viele Lesezugriffe gemacht, z.B. wenn man ne
Where-Bedingung hat. In MySQL werden Indices angelegt mit dem Statements Create
Index, Alter table create index (AFAIR), sowie einer KEY-Anweisung in den
Create Table Statement. 

Dann gibt den Spezialfall eines UNIQUE KEYs. Ein UNIQUE Key hat die
Eigenschaften wie in INDEX, beschleunigt also die Suche, und bietet zudem ne
Funktionalität, das jeder Wert (bzw. Werte-Tupel, wenn der Key über mehrere
Spalten geht) einmalig ist in der Tabelle. Ausgenommen hiervon sind NULL-Werte.
Die können beliebig oft vorkommen. 

Verbietet man diese Null-Werte, so hat man das, was nen PRIMARY KEY ausmacht:
jeder Wert bzw. jedes Tupel kann nur einmal vorkommen, und zusätzlich müssen
für jede Spalte NULL-Werte ausgeschlossen sein. Ist diese Voraussetzung
erfüllt, kann man der Spalte bzw. den Spalten das Attribut Primary Key
zuweisen, und dies ist dann eine Möglichkeit, einen Datensatz eindeutig
anzusprechen: Jeder Datensatz in der Tabelle ist in dem Feld bzw. in diesen
Feldern einmalig. Es kann allerdings nur einen Primary Key pro Tabelle geben.

Hoffe, diese Informationen helfen dir weiter. 



Michael

-- 
Michael Bergbauer <michael.bergbauer_(at)_gmx.net>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive