Hola a todos, en un proyecto ASP + MS SQL Server me he encontrado con
que un script que hacía muchos SELECTS de la base de datos (del orden
de un bucle de 100.000 registros) se enlentecía mucho, y la manera de
agilizarlo era haciendo que el recordset fuera de sólo lectura, y
preparado para leerse sólo para adelante:
set objRstRix = Server.CreateObject(“ADODB.recordset”)
objRstRix.CursorLocation = adUseClient
objRstRix.CursorType = adOpenForwardOnly
objRstRix.LockType = adLockReadOnly
objRstRix.Open sqlRix, objConn1
Con esto va como 50 veces más rapido…
Y ahora la pregunta que nos pone on-topic: ¿este tipo de cosas las
tenemos contempladas en el mundo Rails? Como estoy en un proyecto que
también va a tener una enorme cantidad de registros, me interesa saber
cómo optimizar las consultas a base de datos… lo de los índices en
las tablas es por descontado, pero no se si a ActiveRecord se le
pueden indicar este tipo de cosas, o ya las hace él de serie en todos
los finds.