Bien por el ejemplo. El motor tiene que acceder menos veces (una vez menos) a la cache haciendo un table scan que recorriendo un índice de tipo clustered.
Al analizar de cerca una consulta que tarda demasiado tiempo en devolver los datos, uno intenta que el motor no se vea abligado a hacer un table scan, porque en teoría es de las acciones más costosas. Pero se ve que no siempre es así. Gracias From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [dbadmin] RE: [dbadmin] Re: ¿Table scan o Clustered Index Scan? Date: Thu, 29 May 2008 21:28:00 -0300 Hola, les dejo este ejemplo para que prueben un poco y vean los resultados J CREATE DATABASE TEST GO USE TEST GO CREATE TABLE CLIENTES (ID INT, NAME VARCHAR(100)) GO DECLARE @I INT SET @I = 1 WHILE @I <= 10000 BEGIN INSERT INTO CLIENTES VALUES (@I,'CLIENTE' + CONVERT(VARCHAR(10),@I)) SET @I = @I + 1 END -- TABLE SCAN SET STATISTICS IO ON SELECT ID FROM CLIENTES WHERE NAME = 'CLIENTE1' --Table 'CLIENTES'. Scan count 1, logical reads 38, physical reads 0, read-ahead reads 0 --DROP INDEX CLIENTES.IDX1 CREATE CLUSTERED INDEX IDX1 ON CLIENTES(ID) SELECT id FROM CLIENTES WHERE NAME = 'CLIENTE1' --Table 'CLIENTES'. Scan count 1, logical reads 39, physical reads 0, read-ahead reads 0 ----------------------------------------------------------- Microsoft MVP en SQL Server Mentor asociado en SQLTotalConsulting Excelencia en servicios y consultoria SQLServer www.sqltotalconsulting.com ----------------------------------------------------------- De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Esteban Grinberg Enviado el: Thursday, May 29, 2008 1:45 PM Para: MAXI Asunto: [dbadmin] Re: ¿Table scan o Clustered Index Scan? La diferencia entre un table scan y un clustered index scan es que este ultimo se realiza sobre tablas que contengan un indice clustered, mientras que un table scan se realiza sobre tablas que no tienen dicho indice (heap). Pero hasta donde yo se, para recorrer toda una tabla entera, no hay diferencias de perfomante entre una operacion o la otra. Por lo tanto, a la hora de recorrer toda la tabla, o se ejecuta siempre un clustered scan o se ejecuta siempre un table scan. 2008/5/29 Mariano Dios <[EMAIL PROTECTED]>: Gente, una duda: si tengo 300.000 registros, una clave primaria, y su respectivo indice clustered, y a través de una consulta recupero parte de esos registros, ¿qué cambia si el motor me los devuelve a traves de un table scan o si lo hace a través de un Clustered Index Scan? Hasta donde sé, el motor recorre la tabla entera ya sea de una, u la otra manera. La pregunta es: ¿qué cambia, a nivel rendimiento del motor, entre una y otra opción elegida por el optimizador de consultas? Gracias Date: Tue, 29 Apr 2008 10:27:37 -0300 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [dbadmin] replicacion transaccional bidireccional How to modify publications and articles (Enterprise Manager) http://msdn2.microsoft.com/en-us/library/aa216608(SQL.80).aspx -- -------------------------------- Atte. Ing. Jose Mariano Alvarez SQL Total Consulting 2008/4/29 Yaron Z <[EMAIL PROTECTED]>: que tal ? estoy teniendo que realizar una replicacion transaccional en un sql 2000, pero donde el suscriptor tambien tiene que actualizar. ya habia hecho algunas (con ayuda) y recuerdo que en algun momento se marcaba un checkbox para lograr esto, pero ahora no estoy encontrando la opcion entre todas las ventanas. buscando en google encuentro opciones mas complicadas, como crear la replicacion en los 2 servidores, pero si alguien recuerda la opcion "facil" les agradeceria el dato. muchas gracias. Descargá ya gratis y viví la experiencia Windows Live. Descubre Windows Live _________________________________________________________________ Ingresá ya a MSN Deportes y enterate de las últimas novedades del mundo deportivo. http://msn.foxsports.com/fslasc/
