Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Alex_bro en 26 Marzo 2009, 19:22 pm



Título: [MYSQL] Dudas de rendimiento
Publicado por: Alex_bro en 26 Marzo 2009, 19:22 pm
Buenas, estoy montando un sitio que genera grandes cantidades de registros por cada usuario, y estoy preocupado por si la columna que tiene el ID, qe ahora es un INT de 11, pudiera algun dia en el futuro a que un numero demasiado grande no pudiera ser soportado por la tabla, estamos hablando de que un usuario puede causar unos 50 registros diarios, y sea una cantidad grandecita de usuarios. Claro que no llegara ese momento ahora mismo, pero queria saber si luego es facil pasarlo a BIGINT o tendria algun riesgo...
Mi otra duda es sobre como funciona MySQL al hacer consultas, por si deberia de poner el campo de texto de 255 en la ultima columna o eso no tiene importancia alguna.

Gracias, y disculpen mi ignorancia.
PD: Antes usaaba MySQL para operaciones simples como foros, y demas, pero ahora que me interesaria aprender a montar una DB optima para grandes datos, ven logicos comprar algun libro sobre MySQL o no es necesario? Que consejos me darian?


Título: Re: [MYSQL] Dudas de rendimiento
Publicado por: el-brujo en 26 Marzo 2009, 19:41 pm
quién sabe en el futuro lo que pasará, pero para que te hagas una idea, el SMF la tabla mensajes, que en este foro tiene casi 1 millón de registros, es del tipo int(10)

http://www.mysqlperformanceblog.com contiene mucha info de optimización de consultas, consejos de rendimiento y demás.

Yo sólo te puedo ayudar a tunear la instalación del MySQL, pero lo más importante son las tablas, si está bien diseñado como el SMF no debería darte problemas.


Título: Re: [MYSQL] Dudas de rendimiento
Publicado por: Alex_bro en 26 Marzo 2009, 20:42 pm
Gracias brujo.
Ya digo, mi preocupacion con la db es que en un futuro sea flexible para mejorarla, no que sea ahora perfecta para millones, jeje.
Y sobre todo eso de las posisiones de las columnas...

Por ahora, he creado 2 millones y algo de registros artificialmente para ver el rendimiento... y con phpMyAdmin para mostrar los primeros tarda 0.06, que ya es algo, pero para mostrar los registros con un id mas alto ya tarda 0.5 seg. Con esa cantidad de filas es preocupante?

Gracias por todo.

EDITO:
No son 0.5 seg, eso es en rars ocasiones,ahora tarda entre 2 y 4 segundos a veces... solo el ejecutar la query, ya en mostrarla ni os cuento... de 5 para arriba.


Título: Re: [MYSQL] Dudas de rendimiento
Publicado por: дٳŦ٭ en 26 Marzo 2009, 21:15 pm
Gracias brujo.
Ya digo, mi preocupacion con la db es que en un futuro sea flexible para mejorarla, no que sea ahora perfecta para millones, jeje.
Y sobre todo eso de las posisiones de las columnas...

Por ahora, he creado 2 millones y algo de registros artificialmente para ver el rendimiento... y con phpMyAdmin para mostrar los primeros tarda 0.06, que ya es algo, pero para mostrar los registros con un id mas alto ya tarda 0.5 seg. Con esa cantidad de filas es preocupante?

Gracias por todo.

EDITO:
No son 0.5 seg, eso es en rars ocasiones,ahora tarda entre 2 y 4 segundos a veces... solo el ejecutar la query, ya en mostrarla ni os cuento... de 5 para arriba.

Yo creo que va de madre, porque es muy buen tiempo en relacion a los registros. Una cosa que tienes que tener en cuenta, cuantos campos tienes y que info tienes?, estás dándole un select "*" al usar el phpmyadmin, por lo que te sugiero que trates solo seleccionando el id y comparar tiempos. Para mejores resultados trata de hacerlo por la shell de mysql.