que es más eficiente (en la gestión de más de 100 mil registros):MySQL vs PHP al recuperar un artículo al azar
A. Mysql
SELECT * FROM user ORDER BY RAND();
por supuesto, después de que yo ya tendría todo el campos de ese registro.
B. PHP
uso de memcached para tener $ cache_array contener todos los datos de "SELECT id_user DE ORDEN POR usuario id_user" durante 1 hora o así ... y luego:
$ id = array_rand ($ cache_array);
por supuesto, después de que tengo que hacer una llamada MySQL con:
SELECT * FROM user WHERE id_user = $id;
así que ... que es más eficiente? A o B?
duplicados: http://stackoverflow.com/questions/1823306/alerternative-to-mysql-order-by-rand –
@OMG los potros: Es similar, pero no una víctima.No está preguntando cuál es la mejor manera de implementarlo en Mysql, está pidiendo una comparación de dos métodos. – ryeguy
De acuerdo con este gráfico (ver el enlace al final), ~ 100K ordenado por RAND() es sub segundo. Tengo curiosidad por ver si PHP (mucho menos .NET o J2EE) proporcionará un rendimiento similar: http://stuff.dasprids.de/images/benchmark-random-row-full.png –