che è più efficiente (quando si gestiscono oltre 100K record):MySQL PHP vs durante il recupero di un elemento casuale
A. Mysql
SELECT * FROM user ORDER BY RAND();
naturalmente, dopo che avrei già avere tutte le campi da quel record.
B. PHP
uso memcached di avere $ cache_array contenere tutti i dati da "SELECT id_user ORDINAZIONE utente BY id_user" per 1 ora o giù di lì ... e poi:
$ id = array_rand ($ cache_array);
naturalmente, dopo che devo fare una chiamata MySQL con:
SELECT * FROM user WHERE id_user = $id;
così ... che è più efficiente? A o B?
duplicati: http://stackoverflow.com/questions/1823306/alerternative-to-mysql-order-by-rand –
@OMG Ponies: E 'simile, ma non una vittima.Non sta chiedendo il modo migliore per implementarlo in Mysql, sta chiedendo un confronto tra due metodi. – ryeguy
Secondo questo grafico (vedi link alla fine), ~ 100K ordinati per RAND() è al secondo. Sono curioso di vedere se PHP (molto meno .NET o J2EE) fornirà prestazioni simili: http://stuff.dasprids.de/images/benchmark-random-row-full.png –