push de cosas de teoria
This commit is contained in:
37
BasesDeDatos/procesamiento de Consultas/1.md
Normal file
37
BasesDeDatos/procesamiento de Consultas/1.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Para el parcial en la clase 7 esta el modelo del parcial toca speedruniar
|
||||||
|
|
||||||
|
# Tipos de optimizaciones
|
||||||
|
## Por Costos
|
||||||
|
El motor calcula el costo de usar cada tipo de plan de ejecucion y elije el más optimo basado en una balanza de uso de memoria vs uso de procesamiento.
|
||||||
|
## Heuristica
|
||||||
|
En vez de calcular los costos elije un costo el cual es el más optimo en la mayoria de las veces y se ahora intentar computar cual es mejor.
|
||||||
|
|
||||||
|
● Aplicar primero las selecciones (filtrar registros).
|
||||||
|
● Realizar primero las proyecciones (reducir columnas).
|
||||||
|
● Evitar joins sin condiciones (productos cartesianos).
|
||||||
|
● Usar índices si la selectividad es alta.
|
||||||
|
|
||||||
|
# catalogo estadistico
|
||||||
|
Tambien conocido como diccionario de datos contiene estadisticas como:
|
||||||
|
|
||||||
|
- cant registros por tabla
|
||||||
|
- cant valores por columna
|
||||||
|
- distribucion de datos
|
||||||
|
- size bloques y factores bloqueo
|
||||||
|
|
||||||
|
## que permite
|
||||||
|
|
||||||
|
Permite elejir de forma adecuada si combiene hacer un scaneo de tabla completa o utilizar un indice. y ordenar los joins de forma optima
|
||||||
|
|
||||||
|
# Buenas Pracitcas
|
||||||
|
- Evitar Select *
|
||||||
|
|
||||||
|
- NOT EXISTS >> NOT IN
|
||||||
|
|
||||||
|
- No utilizar funciones en los WHERE
|
||||||
|
|
||||||
|
- Evaluar el uso de indices
|
||||||
|
|
||||||
|
- Evitar Distict, Groupby, Order by si no son necesarios
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user