sql >> Base de Datos >  >> RDS >> Mysql

bucle foreach:uso de todos los núcleos en R (especialmente si enviamos consultas sql dentro del bucle foreach)

Mi sugerencia es esta:mueva las consultas de la base de datos fuera del ciclo y bloquee el acceso para que no realice consultas de bases de datos paralelas. Creo que eso también acelerará las cosas, ya que no tendrá acceso al disco en paralelo y podrá realizar el procesamiento en paralelo.

Significado (pseudocódigo)db =conectarse a la base de datosthreadlock =lock();

parfor {threadlock.lockresult =db query (obtenga todos los datos aquí, ya que no puede procesar mientras carga sin mantener la base de datos bloqueada) thread.unlockprocess datos resultantes (que ahora son solo datos, y no un objeto sql).}