Habe derzeit folgendes Script um meine Buchdatenbank zu durchsuchen
habe nun aber Angst das bei steigender Buchanzahl die Geschwindigkeit
leidet bzw. sogar Fehler durch Puffer oder Zeit Überläufe entstehen.
Der SQL Befehl wird hiermit generiert und danach mit
mysql_query
ausgeführt und per
while Schleife und
mysql_fetch_array dargestellt.
PHP-Code:
<?php
if (isset($_POST['SuchString'])) {
$SuchString = $_POST['SuchString'];
$sql = "SELECT * FROM bestand WHERE Archiv = '' AND ( ";
if ( isset ( $_POST['BestandID'] ) ) { $sql .= "OR BestandID LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Systematik'] ) ) { $sql .= "OR Systematik LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['ISBN'] ) ) { $sql .= "OR ISBN LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Verfasser'] ) ) { $sql .= "OR Verfasser LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['VerfasserAngabe'] ) ) { $sql .= "OR VerfasserAngabe LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Titel'] ) ) { $sql .= "OR Titel LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['TitelZusatz'] ) ) { $sql .= "OR TitelZusatz LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Verlag'] ) ) { $sql .= "OR Verlag LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Ort'] ) ) { $sql .= "OR Ort LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Zugangsnummer'] ) ) { $sql .= "OR Zugangsnummer LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Umfang'] ) ) { $sql .= "OR Umfang LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Jahr'] ) ) { $sql .= "OR Jahr LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Auflage'] ) ) { $sql .= "OR Auflage LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Anzahl'] ) ) { $sql .= "OR Anzahl LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Preis'] ) ) { $sql .= "OR Preis LIKE '%".$SuchString."%' "; }
if ( isset ( $_POST['Stichwort'] ) ) { $sql .= "OR Stichwort LIKE '%".$SuchString."%' "; }
$sql = str_replace( "AND ( OR", "AND ( ", $sql);
$sql .= " )";
}
?>
Der Katalog wird etwa mal 6000 bis 10000 Bücher enthalten. Derzeit läuft es noch gut (200 Bücher) aber wenn mal alles eingegebn ist, tja was dann????
:edit:1
Wäre es vielleicht Sinnvoller das SELECT nur auf den Primär Schlüssel zu setzen und die Anzeige dann mit Hilfe einer zweiten SQL Abfrage zur realisieren?
:edit:2
MySQL 3.23.58
PHP 4
:edit:3
Das updaten des SQL Servers ist nicht möglich.