Announcement

Collapse
No announcement yet.

Indizes

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Indizes

    Hallo zusammen,

    hab mich gerade ein bisschen in die Indizes eingelsen - dazu hätte ich jetzt ein paar fragen.

    1. Der Primärschlüssel einer Datenbank ist automatisch ein Index?
    2. Wenn ich eine Abfrage auf eine Spalte mache, die keinen Index besitzt, muss jeder Datensatz durchlaufen werden?

    3. Wird zum durchsuchen einer Tabelle immer der Tabellenindex verwendet?
    Wenn eine Tabelle mehre Indexe hat -> dann wird für die entsprechende Spalte der entsprechende index verwendet. Ist der nicht vorhanden -> Primärindex -> ganze Tabelle druchlaufen?

  • #2
    Der Primärschlüssel einer Datenbank ist automatisch ein Index?
    Ersetze Datenbank durch Tabelle dann stimmt es.

    2. Wenn ich eine Abfrage auf eine Spalte mache, die keinen Index besitzt, muss jeder Datensatz durchlaufen werden?
    Es muss jeder Block durchsucht werden, den die Tabelle jemals allokiert hat. Beispiel: Eine Tabelle hat 10Millionen Datensätze und beansprucht 400MB. Dann werden 9 Millionen Datensätze gelöscht. Trotzdem muss die Datenbank noch die gesamten 400MB durchsuchen die ursprünglich beansprucht wurden.

    3. Wird zum durchsuchen einer Tabelle immer der Tabellenindex verwendet?
    Nein, nur wenn es der Datenbank sinnvoll erscheint bzw. die Abfrage auch so gemacht ist, dass ein Index verwendet werden kann.

    Wenn eine Tabelle mehre Indexe hat -> dann wird für die entsprechende Spalte der entsprechende index verwendet. Ist der nicht vorhanden -> Primärindex -> ganze Tabelle druchlaufen?
    Wie gesagt das hängt von Deiner Abfrage ab. Wenn Du nach dem Vornamen suchst und diese Spalte nicht indiziert ist, was soll dann die Suche über den PK bewirken der eine ganz andere, rein technische, Spalte indiziert? Die Datenbank würde hier die komplette Tabelle durchsuchen müssen.

    Dim
    Zuletzt editiert von dimitri; 31.10.2009, 21:03.
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      ...Danke...

      Comment

      Working...
      X