English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

Alguien que me pueda ayudar, encontre algo de eficiencia de cuantas operaciones I/O se requieren para leer todos los registros de una tabla o algo asi, help!

2007-03-05 09:28:02 · 1 respuestas · pregunta de Chava 4 en Ordenadores e Internet Programación y Diseño

1 respuestas

Un "full-table scan" en la jerga de las bases de datos significa que para una consulta dada fue necesario leer toooooda la tabla. Se considera la forma más ineficiente de buscar un registro, pero a veces es la única forma de hacer una consulta.

Por ejemplo, si tu tabla es un directorio telefónico, y está indexada por los campos de nombre y número, al solicitar (al hacer un "query") el registro de "Pablito el Calvito", el software que la haga de RDBM sólo consulta el índice y de volada sabe en qué registro de la tabla está lo que buscas.

O supongamos que tu tabla no está indexada, pero está ordenada. Pues en ese caso puedes hacer una búsqueda binaria para encontrar rápidamente dónde está el registro de "Pablito el Calvito" sin recorrer toda la tabla.

Pero supongamos que es una tabla de productos y tú solicitas en tu "query" no un registro, sino la suma de los precios de todos los productos. Pues al RDBM no le queda más remedio que leer tooooodos los registros para leer los precios y hacer la suma.

Claro que este es el peor escenario. La mayoría de los servidores de base de datos buenos tratan lo mejor que pueden para no hacer un "recorrido la tabla completa" (o una "consulta de tabla completa").

Seguramente en tu búsqueda por información te topaste con alguna página de alguna compañía de bases de datos que te decía que la suya era la más veloz haciendo "full-table scans".

Espero que esta información te sirva.

2007-03-05 22:45:33 · answer #1 · answered by MV 5 · 1 0

fedest.com, questions and answers