Foro de programación en PHP
Ayuda con indices
| Autor: tatogahan Publicado: 06-5-2008 12:50 AM |
|
|
Hola antes que nada, les quiero presentar mi duda ya que soy nuevo hace poco que intento programar en php... paso a explicarles: hice junto a un libro una web de un comercio que vende libros( una libreria), despues de 2 años de usarlas los del hosting suspendieron la cuenta hasta que no modifique las consultas porque probocan un alto consumo del server... la base de datos contiene 86000 registros... hice indices sobre los campos titulo autor isbn y uno fulltext llamado cadena para los campos titulo,autor El problema que tengo es que no me toma los indices en la consultas que hago cuando las verifico con el explain... aca les dejo las consultas que uso y no me toman el indice: $query_busquedas = "SELECT Codigo, Titulo, Autor FROM busquedas WHERE Titulo LIKE '%$titulo%' OR Autor LIKE '%$titulo%' ";// busquedas es el nombre de la tabla //si escribe mas de una palabra usa esta: $query_busquedas = "SELECT Codigo, Titulo, Autor , MATCH (`Titulo`,`Autor`) AGAINST ('$titulo') AS cadena FROM busquedas WHERE MATCH (`Titulo`,`Autor`) AGAINST ('$titulo') ORDER BY cadena DESC "; // donde cadena seria el indice fulltext, pero en phpmyadmin me pone solo 1 en cardinalidad Como deberia hacer yo para que la consulta use los indices? si alguien me puede ayudar Gracias... |
|
| Autor: php user Publicado: 06-5-2008 07:19 AM |
|
| Hola, por lo que veo estás utilizando el campo "cadena" como índice fulltext, y no debería ser así, los campos que debes declarar como índices full search son "Titulo" y "Autor", dado que son los campos sobre los que estás realizando la búsqueda. Es así? sino lo seguimos mirando. |
|
| Autor: tatogahan Publicado: 06-5-2008 10:56 AM |
|
| hola, cadena es el nombre que le puse al indice de tipo full text con los campos titulo y autor,, cuando hago un indice de tipo index por eejemplo titulo, en cardinalidad pone los 86000 y en el full text cadena solo pone 1 | |
