Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INSTRUCTOR
JONATHAN QUICENO VARGAS
INGENIERO DE SISTEMAS Y COMPUTACIN
La optimizacin del acceso a los datos es vital para el tiempo de carga de la pgina,
debido a que suele ser el factor que ms afecta al tiempo que tiene que esperar el
navegador para recibir el HTML. Este tiempo de espera es muy importante, ya que
el resto de recursos de la pgina (imgenes, scripts y hojas de estilo), no se
empiezan a bajar hasta que el navegador no lee el HTML desde el que se hace
referencia a estos recursos.
SQL Server 2008 R2 Puede utilizar la GUI (interfaz grfica de usuario) del Asistente
para la optimizacin de motor de base de datos para optimizar bases de datos
mediante tablas o archivos de carga de trabajo. La GUI del Asistente para la
optimizacin de motor de base de datos le permite ver con facilidad los resultados
de la sesin de optimizacin actual y los resultados de sesiones anteriores. Para
obtener ms informacin.
Para optimizar una base de datos mediante una tabla o archivo de carga de trabajo
como entrada
1. Determine las caractersticas de la base de datos (ndices, vistas indizadas y
particiones) que desea que el Asistente para la optimizacin de motor de base de
datos tenga en cuenta para agregarlas, quitarlas o mantenerlas durante el anlisis.
Para obtener ms informacin, vea Acerca de las cargas de trabajo y
Consideraciones para usar el Asistente para la optimizacin de motor de base de
datos.
2. Cree una carga de trabajo. Para obtener ms informacin, vea Cmo crear cargas
de trabajo
1. Para buscar una tabla o archivo de carga de trabajo, haga clic en el botn
Examinar. El Asistente para la optimizacin de motor de base de datos presupone
que los archivos de carga de trabajo son archivos de sustitucin incremental. Para
obtener ms informacin acerca de los archivos de sustitucin incremental, Al usar
una tabla de traza como una carga de trabajo, esa tabla debe existir en el mismo
servidor que el Asistente para la optimizacin de motor de base de datos est
optimizando. Si crea una tabla de traza en otro servidor, muvala al servidor en el
que el Asistente para la optimizacin de motor de base de datos est realizando la
optimizacin antes de utilizarla como carga de trabajo.
2. Seleccione las bases de datos y tablas en las que desea ejecutar la carga de
trabajo seleccionada en el paso 5. Para seleccionar las tablas, haga clic en la flecha
Tablas seleccionadas.
3. Seleccione Guardar registro de optimizacin para guardar una copia del registro
de optimizacin. Desactive la casilla de verificacin si no desea guardar una copia
del registro de optimizacin. Puede ver el registro de optimizacin despus del
anlisis; para ello, abra la sesin y seleccione la ficha Progreso.
Reordenarlos para concatenar primero las relaciones con menos filas para reducir
el nmero de cruces.
Cambiar los JOIN por EXISTS si no se va a mostrar ningn dato de la relacin con
la que se realiza el cruce.
Crear ndices: los ndices permiten un acceso a los datos no secuencial mucho
ms rpido, pero son costosos de crear, as que no es conveniente su uso si
tenemos muchas ms lecturas que escrituras.
Optimizar la paginacin
La paginacin suele ser una tarea costosa cuando tenemos que mostrar varios
nmeros de pgina, porque para eso se tiene que calcular el nmero de filas en la
relacin, lo que puede requerir una lectura completa de la misma, dependiendo del
SGBD. Siempre ser ms eficiente mostrar enlaces de anterior y siguiente,
recuperando todas las filas a mostrar y una ms, de manera que se muestra el
enlace de siguiente pgina, si nos llega esta fila adicional desde la BD.
Alternativamente, podemos mantener en una relacin independiente el nmero de
filas.
Otra cosa que puede afectar a las paginaciones, es que cuando estamos en una
pgina interior se deben descartar un cierto nmero de filas, pertenecientes a las
pginas anteriores, y que son ledas del disco con todas las columnas que
aparezcan en la consulta. Una forma de evitar esto es realizar un JOIN con una
subconsulta que recupere los identificadores que necesitamos antes de leer toda la
informacin. Ejemplo: SELECT dato1, dato2, dato3 FROM Foo INNER JOIN(
SELECT id FROM Foo ORDER BY dato1 LIMIT 50,10) AS FooPaginado USING(id)