Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2010, 11:08
johhan16
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
como hacer una busqueda de forma mas optima?

tengo una tabla que pesa 1.3 GB, llamada rep (17,776,774 registros) en esta tabla se encuentra

cedula (int (8))
nombre (varchar(35))
codigo (varchar(9))
fnac (date)

tengo otra tabla llamada repdir (13,059,841 registros) que pesa 662 MB y trae estos campos

cedula (int(8))
direccion (varchar(30))

y otra tabla llamada repcen que pesa 4 MB y trae estos campos

codigo (varchar(9))
estado (varchar(25))
municipio varchar(30)
parroquia varchar(35)
centro varchar(65)


estoy usando el siguiente codigo

Código PHP:
<?
include("cone.php");
$link=conectarse();
$cedula=$_POST["cedula"]; 
$result=mysql_query("SELECT * FROM rep where rep.cedula = ('$cedula')",$link);
$result1=mysql_query("SELECT * FROM repdir where repdir.cedula = ('$cedula')",$link);
$array=mysql_fetch_array($result);
$array1=mysql_fetch_array($result1);

$codigo=$array["codigo"];
$result2=mysql_query("SELECT * FROM repcen where repcen.codigo = ('$codigo')",$link);
$array2=mysql_fetch_array($result2);
?>
<table width="700" border="1" align="center">
  <tr>
    <td colspan="2"><div align="center"><strong>CONSULTA DEL REP</strong></div></td>
  </tr>
  <tr>
    <td><div align="right">CEDULA</div></td>
    <td><? echo $array["cedula"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">APELLIDOS Y NOMBRES</div></td>
    <td><? echo $array["nombre"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">FECHA DE NACIMIENTO</div></td>
    <td><? echo $array["fnac"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">DIRECCION</div></td>
    <td><? echo $array1["direccion"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">CODIGO DE C.V.</div></td>
    <td><? echo $array["codigo"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">CENTRO DE VOTAC.</div></td>
    <td><? echo $array2["centro"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">PARROQUIA</div></td>
    <td><? echo $array2["parroquia"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">MUNICIPIO </div></td>
    <td><? echo $array2["municipio"]; ?></td>
  </tr>
  <tr>
    <td><div align="right">ESTADO</div></td>
    <td><? echo $array2["estado"]; ?></td>
  </tr>
</table>
el problema que tengo es que para hacer una busqueda de una cedula se tarda entre 20 y 40 segundos, y hay ocasiones en que me muestra error que se agoto el tiempo de ejecuccion en linea 6 que es esta

$result1=mysql_query("SELECT * FROM repdir where repdir.cedula = ('$cedula')",$link);

entonces nose que manera podria hacer para que las consultas sean mas rapidas, y no se tarde tanto tiempo

Última edición por johhan16; 02/08/2010 a las 11:14