![]() |
indexar en mysql
hola a todos,
tengo un programa en delphi que conecta a una base de datos, tengo un indice primario en DNI con objeto de que no se repita este campo, y quiero que los registros se ordenen por 1er apellido, 2º apellido y nombre, en el phpmyadmin he indexado estos campos pero no se ordenan, no sé como hacerlo gracias por anticipado, un saludo |
Los índices siempre se crean ordenados, pero esto no produce que se ordenen los datos de las tablas. Según ANSI los datos no tienen ningún orden lógico, aunque en la mayoría de los motores los datos conservan el orden en que han sido ingresados, pese a esto nunca he leído que el motor garantize este orden.
Si quieres ver los datos ordenados utilizá ORDER BY Saludos! |
En MySQL eso dependera del tipo de base de datos que estes utilizando. En SQL Server existe el concepto de Clustered Index, en el cual los registros son insertados en la BD fisicamente en el mismo orden en el que fueron definidos los indices, lo cual permite una busqueda por ese campo con una rapidez superior a cualquier otro metodo.
Segun estuve viendo en la documentacion de MySQL, eso es propio del tipo de base de datos InnoDB, y cita de la siguiente forma: Cita:
|
muchas gracias, he resuelto el problema con ORDER BY al final y sale todo correcto. hasta otra, un saludo
|
| La franja horaria es GMT +2. Ahora son las 07:33:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi