Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Eleccion de los indices...

Estas en el tema de Eleccion de los indices... en el foro de Mysql en Foros del Web. Buenas a todos, he estado informandome sobre los indices pero la verdad que no me queda muy claro cuando usarlos.... Tengo una pagina web de ...
  #1 (permalink)  
Antiguo 12/08/2008, 07:07
 
Fecha de Ingreso: noviembre-2007
Mensajes: 159
Antigüedad: 16 años, 4 meses
Puntos: 1
Eleccion de los indices...

Buenas a todos, he estado informandome sobre los indices pero la verdad que no me queda muy claro cuando usarlos....

Tengo una pagina web de anuncios y la estoy probando en servidor local, y cuando le inserto muchos anuncios, unos 200.000, me empieza a ir lenta, no se si por la estructura de la base de datos, por los indices, no lo se la verdad, no lo tengo muy claro. Esta es la estructura de la tabla donde guardo los anuncios.

id y usuario son claves primarias y a su vez usuario es indice.

id int(11) No auto_increment
usuario int(11) No
fecha datetime No
provincia int(11) No
cat int(11) No
tipo varchar(50) latin1_swedish_ci No
titulo varchar(50) latin1_swedish_ci No
desc varchar(100) latin1_swedish_ci No
precio int(11) No
negociable text latin1_swedish_ci No
contrasena varchar(50) latin1_swedish_ci No
mini1 varchar(50) latin1_swedish_ci No
mini2 varchar(50) latin1_swedish_ci No
mini3 varchar(50) latin1_swedish_ci No
mini4 varchar(50) latin1_swedish_ci No
Image1 varchar(50) latin1_swedish_ci No
Image2 varchar(50) latin1_swedish_ci No
Image3 varchar(50) latin1_swedish_ci No
Image4 varchar(50) latin1_swedish_ci No
empresa int(1) No
contador int(11)
  #2 (permalink)  
Antiguo 12/08/2008, 08:53
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 7 meses
Puntos: 23
Respuesta: Eleccion de los indices...

podrias poner el create? para poder ver los indices y llaves primarias

Pues basicamente los indices sirven para que tus consultas sean mas rapidas, la recomendacion es crear un indice de valores que se utilizan mucho en la clausula where y tengan valores diferentes.

Tambien tiene mucho que ver la configuracion del servidor mysql (lo digo pq dices que es local) si el cache esta activado, cuanto tiene de espacio reservado etc
  #3 (permalink)  
Antiguo 12/08/2008, 09:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 159
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Eleccion de los indices...

CREATE TABLE `anuncio` (
`id` int(11) NOT NULL auto_increment,
`usuario` int(11) NOT NULL,
`fecha` datetime NOT NULL,
`provincia` int(11) NOT NULL,
`cat` int(11) NOT NULL,
`tipo` varchar(50) NOT NULL,
`titulo` varchar(50) NOT NULL,
`desc` varchar(100) NOT NULL,
`precio` int(11) NOT NULL,
`negociable` text NOT NULL,
`contrasena` varchar(50) NOT NULL,
`mini1` varchar(50) NOT NULL,
`mini2` varchar(50) NOT NULL,
`mini3` varchar(50) NOT NULL,
`mini4` varchar(50) NOT NULL,
`Image1` varchar(50) NOT NULL,
`Image2` varchar(50) NOT NULL,
`Image3` varchar(50) NOT NULL,
`Image4` varchar(50) NOT NULL,
`empresa` int(1) NOT NULL,
`contador` int(11) NOT NULL,
PRIMARY KEY (`id`,`usuario`),
KEY `usuario` (`usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=130003 ;

--
-- Filtros para las tablas descargadas (dump)
--

--
-- Filtros para la tabla `anuncio`
--
ALTER TABLE `anuncio`
ADD CONSTRAINT `anuncio_ibfk_1` FOREIGN KEY (`usuario`) REFERENCES `usuario` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.