Foros del Web » Programando para Internet » PHP »

Agilizar consultas

Estas en el tema de Agilizar consultas en el foro de PHP en Foros del Web. Abro este post para que entre todos vayamos recopilando ideas para optimizar las consultas a bases de datos. Joe Tawers, <a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>...
  #1 (permalink)  
Antiguo 27/06/2002, 06:55
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Agilizar consultas

Abro este post para que entre todos vayamos recopilando ideas para optimizar las consultas a bases de datos.


Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #2 (permalink)  
Antiguo 27/06/2002, 07:46
 
Fecha de Ingreso: noviembre-2001
Mensajes: 21
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Agilizar consultas

Muy interesante la idea, a ver quien se anima a comparar modos de hacer consultas y explicar cuales son las más rápidas.

<center><a href="http://www.folosoft.com"><img src="http://www.folosoft.com/images/banner.gif" border="0"></a></center>
  #3 (permalink)  
Antiguo 27/06/2002, 10:41
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Agilizar consultas

Bueno, hay que tener en cuenta que medir la performance de un query o consultas, no solo es algo muy complicado, sino que es parte de toda una carrera casi, que es ser DBA.

De todas maneras, siempre tengo en mente, el hacer la menor cantidad de consultas posibles, y si tengo, como sana costumbre, colocar índices para los campos que se serán los que utilizaré para encontrar información en mi base de datos.

Espero que les sirva como idea.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #4 (permalink)  
Antiguo 27/06/2002, 11:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Agilizar consultas

Ajustar los tipos de los campos que usemos al maximo ayuda a tener una BD menos pesada para realizar nuestras consultas ..

Me refiero a lo de siempre..
si tenemos un valor que sabemos que es un entero de no mas de 5 digitos .. no dejemos por defecto lo que suele colocar algunos administradores/gestores de BD como por ejemplo para Mysql PHPmyadmin . que lo deja a 11 digitos (si mal no recuerdo) ...

Debemos estudiar el tipo de dato que vamos a tratar para llegar a la conclusion de que &quot;tipo&quot; de dato de nuestra BD es el mas recomendable.

Lo de usar indices es necesario. De nada sirve por ejemplo .. un campo tipico ID .. como indice .. si luego hacemos consultas sobre otro campo de la Tabla .. ejemplo . .. pogamos &quot;nombre&quot; ... para acceder a ese registro. En tal caso habria que evaluar si la mayoria de casos hacemos consultas sobre el campo &quot;nombre&quot; (en el ejemplo) .. o sobre su &quot;ID&quot; para cambiar si fuera necesario el Indice a otro campo.

Un saludo,
  #5 (permalink)  
Antiguo 27/06/2002, 11:50
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Agilizar consultas

¿Entonces, si tengo una tabla donde lo que más consulto son los nombres, debo fijar nombres como índice y me irá más rápido que si tengo un id autonumérico de indice?
¿Aunque el campo de nombre sea un varchar de 255 carácteres?

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #6 (permalink)  
Antiguo 27/06/2002, 11:53
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Agilizar consultas

Otra cosa, ¿es cierto que marcar los campos obligatorios como NOT NULL agiliza la consulta?

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #7 (permalink)  
Antiguo 27/06/2002, 15:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Agilizar consultas

Un indice no tiene nada que ver con el tamaño del dato almacenado ..

El indice es eso mismo, Mysql (o cualquier motor de BD) añade informacion extra de la posicion (registro) que ocupa en relacion a la BD/tabla ...

(si me equivoco me corrigen)

Puedes hacer una prueba .. mide el tiempo de respuesta de tus consultas .. poniendo como indice el &quot;ID&quot; o el &quot;nombre&quot; y haciendo consultas por &quot;nombre&quot; (WHERE nombre='tal') .. El tiempo de respuesta lo puedes ver asi:
&lt;?
$tiempo_inicio=microtime();
//tu consulta/codigo aqui
$tiempo_fin=microtime();
$tiempo_proceso=$tiempo_fin-$tiempo_inicio;
echo &quot;Tiempo de ejecucion: &quot;.$tiempo_proceso;
?&gt;

Haz la prueba y nos comentas que tal fueron los resultado.

Un saludo,
  #8 (permalink)  
Antiguo 22/07/2002, 11:46
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Agilizar consultas

Otra cosa, ¿donde puedo encontrar información sobre los tipos de tabla que soporta MySQL?

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #9 (permalink)  
Antiguo 22/07/2002, 14:50
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: Agilizar consultas

En el manual oficial de MySQL en especifico en el capitulo 7, te dejo la liga a esa seccion del manual.
<a href='ir.asp?http://www.mysql.com/doc/T/a/Table_types.html' target='_blank'>http://www.mysql.com/doc/T/a/Table_types...</a>

Saludos!.
Mty. NL.
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 15:15.