Datenbankausgabe dauert zu lange

soa

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem mit der Ausgabe meiner Datenba :eek: nk. Ich habe eine DB mit ca.
1500 Einträgen Tendenz steigend. Um die Einträge editieren, bzw löschen zu können,
gebe ich alle Einträge mit einem Link zum "löschen" und "editieren" aus.

Bei so vielen Einträgen dauert die Abfrage bei mir ca. 45 sec.....

Wie könnte man soetwas besser umsetzen?

Hier mal mein Script

PHP:
<title>Ausgabe aller Eintraege</title><br>

<h1>Datenbank Einträge:</h1>

<table border = 1 > <font face="Arial, Helvetica, sans-serif", >
<tr>
  <th>ID</th>
  <th>Plattdeutsch</th>
  <th>Hochdeutsch</th>
  <th>Rubrik</th>
  <th>Redensart Hochdeutsch</th>
  <th>Redensart Plattdeutsch</th>
  </tr>

<?php

  $eintrag = mysql_query("SELECT * FROM platt");
  
  
 WHILE($row=mysql_fetch_row($eintrag)){

 print "<tr>\n <th>".$row[0]."</th><th>".$row[1]."</th><th>".$row[2];
 print "</th><th>".$row[3]."</th><th>".$row[4]."</th><th>".$row[5];
 print "<th border ='2px'><a href='eintragsverw.php?mode=delete&id=".$row[0]."'>Löschen</a></th>";
 print "<th><a href=\"editieren.php?mode=update&id=$row[0]\">Editieren</a></th>\n </tr>";
}
print"<br><br><br><br>";



 if ($_GET['mode'] == "delete") {
    /* datensatz löschen */
    $id = $_GET['id'];

     mysql_query("DELETE FROM platt WHERE id = '$id'", $db)or die(mysql_error());
    if(mysql_affected_rows($db)==1)
      {
         echo "<font color=\"#00FF00\"><b>Eintrag wurde gelöscht!
          </b></font><br><br>";
          }
          else
            {
          echo "<font color=\"#FF0000\"><b>Eintrag konnte nicht
            gelöscht werden!</b></font><br><br>";
           }
} //elseif geschlossen
?>

Danke


Gruß
SOA
 
Indem Du zB immer 10 ausgibst und dann verschiedene Sortiermöglichkeiten lieferst.
zb Alter Name etcpp.
Du könntest auch alle selektieren aber nur 10 Ausgeben und dann Quasi sagen 10 Angezeigt 2345 in der Datenbank vorhanden auf die die Gewählten eigenschaften zutreffen.
So quasi ala Google die Zeigen ja auch nicht alle gefunden Seiten auf der ersten Seite an.
 
Mach dich mal bezüglich Indexierung schlauer:
http://dev.mysql.com/doc/mysql/de/mysql-indexes.html
Weiterhin solltest du nicht alle Felder der Tabelle abfragen, sondern nur jene, die du gezielt benötigst. Und weiterhin sollte man sich nie alle anzeigen lassen, da leidet nicht nur die Übersicht, sondern auch die Geschwindigkeit - also LIMIT zu nutzen wäre ebenfalls sinnvoll.
 
Zurück