Hallo Bernd,
zeige doch mal die Tabellenstruktur von der Tabelle und ein paar Testdaten (INSERT).
mysql>SHOW CREATE TABLE tabelle1;
sowie:
* SHOW TABLE STATUS LIKE 'tbl'; -- liefert die Tabellengrößen
* SHOW VARIABLES LIKE '%buffer%'; -- wichtige MySQL Server Einstellungen
Durch ein Auftrennen der Tabelle in zwei Tabellen (1:1) läßt sich vielleicht etwas beschleunigen.
CREATE TABLE tabelle1_url (
id ...
url ...
);
CREATE TABELLE tabelle1 (
id ..
feld1 ..
)
/* in etwa so */
SELECT *
FROM tabelle1 t1
JOIN (SELECT id, url FROM tabelle1_url
ORDER BY rand()) ...
LIMIT 10 ) AS r
ON t1.id = r.id
Order by RAND() ist generell keine gute Lösung, deshalb muss die Datenmenge die sortiert wird, so klein wie möglich gehalten werden.
Grüße
Thomas
Edited 1 time(s). Last edit at 08/17/2012 12:38AM by Thomas Wiedmann.