Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 17-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 17-12-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
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:
Every InnoDB table has a special index called the clustered index where the data of the
rows is stored. If you define a PRIMARY KEY on your table, then the index of the primary
key will be the clustered index.

If you do not defne a primary key for your table, InnoDB will internally generate a clustered
index where the rows are ordered by the row id InnoDB assigns to the rows in such a table.
The row id is a 6-byte field which monotonically increases as new rows are inserted. Thus
the rows ordered by the row id will be physically in the insertion order.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #4  
Antiguo 18-12-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
muchas gracias, he resuelto el problema con ORDER BY al final y sale todo correcto. hasta otra, un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:31:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi