Hallo,
hm, also allmählich bin ich "so schlau als wie zuvor" ;-)
Ich habe jetzt einfach mal folgendes Probiert:
ich habe eine Tabelle mit zwei Spalten, id (INT, auto_increment) und x (INT) angelegt.
Nun habe ich 10000 Zeilen mit Werten für x zwischen 1 und 100 eingetragen.
Dann habe ich die Tabelle mit Inhalt kopiert und für die Kopie einen Index für "x" erstellt.
Mit diesem Skript habe ich dann die Geschwindigkeit verglichen:
<?php
$mit_index_schneller = 0;
for($x=0; $x<1000; $x++)
{
$start = microtime(true);
$result = mysql_query("SELECT * FROM table_no_index WHERE x=17 OR x=53 OR x=74",$c);
$ende = microtime(true);
$dif = $ende-$start;
$start2 = microtime(true);
$result2 = mysql_query("SELECT * FROM table_index WHERE x=17 OR x=53 OR x=74",$c);
$ende2 = microtime(true);
$dif2 = $ende2-$start2;
if ($dif2 < $dif) $mit_index_schneller++;
}
echo 'Von '.$x.' Durchläufen war die Tabelle mit Index '.$mit_index_schneller.' mal schneller.';
?>
Ergebnis: "Von 1000 Durchläufen war die Tabelle mit Index 993 mal schneller."
Scheint also halbwegs eindeutig zu sein!
Gruß
Tommi