Indices compuestos.

Hola Enciso.
Con DBF puedo crear indices como:
INDEX ON ccia+nopera+tmovi TO NOPERA, donde para esto es requisito que los campos compuestos sean todos caracteres.
Y la búsqueda es usando el indice seria:
=SEEK("MITABLA", "NOPERA", VALOR)... Esto me localiza el registro.
Pero si hiciera una consulta (Ojo Consulta) usando Select de SQL seria. SELECT * FROM MITABLA WHERE "TRES_PARAMETROS" = ccia+nopera+tmovi
----
Ahora en SQL Server he creado un campo compuesto tal como esta en DBF.
¿Cómo ubico un registro o un grupo de registros (claso con SQL)?. ¿De qué forma uso los indices?.
¿Qué es mejor? Usar indices compuestos y compararlos agrupadamente:
"TRES_PARAMETROS" = ccia+nopera+tmovi
o crear en el SQLSERVER Indices por separado y luego compararlos asi.
"PAR1" = ccia AND "PAR2" = nopera AND "PAR3" = tmovi
Agradezco de antemano tu ayuda.
Tengo un libro de SQL de 1000 páginas y no hay lo que busco.
Atentamente.
Hubert Casimiro T.
PERÚ
Respuesta
1
Es mejor que utilices los índices por separado. Debes considerar que si por ejemplo tienes un campo de fecha, y quieres seleccionar registros de un período que definas, debes convertir los datos de la fecha de entrada que estarían en caracteres al tipo de campo fecha. Puedes utilizar algunas funciones, como en este ejemplo CDat que convierte de carácter a fecha.

1 respuesta más de otro experto

Respuesta
1
Bueno el libro, pero no todo se escribe, se aprende con la práctica, los indices no funcionan de la misma forma que en los viejos DBF, se pueden mezclar campos, esto lo defines en la estructura de tu tabla, puedes definir tantos indices como requieres y contener dentro de ellos los campos que requieras.
Ejemplo:
clave int
nombre char(10)
Indice1: clave
Indice2: nombre
Indice3: clave, nombre
Indice4: nombre, clave
En los libros de ayuda en línea de sql server puedes ver lo referente al manejo de indices. Quizás en tu libro lo explican pero no comparativamente, lo que escribo es como nombres a un indice y de que campos se componga.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas