Pregunta

Me preguntaba si la búsqueda instantánea usando jQuery causaría una carga masiva en una base de datos (MySQL). Sé que hay un montón de factores a considerar, pero por mor del argumento digamos que tiene 30.000 registros a hojear?

¿Fue útil?

Solución

Indexing

La indexación ayuda, pero también ralentiza la indexación insertar / actualizar / borrar declaraciones ...

MySQL también limita la cantidad de espacio que puede utilizar para columnas de índice en una tabla , y que depende del tipo de motor:

  • MyISAM : 1000 bytes
  • InnoDB : 767 bytes

Tipos de datos

Escoja el tipo de datos adecuado para el trabajo.
No hace mucho tiempo, me di cuenta de que una pregunta sobre el SO fue lista de texto como el tipo de datos, pero sólo utilizando ~ 100 caracteres. Informaron de nuevo a decir que vieron el momento de la consulta disminuir a un tercer X de la original cuando se cambió el tipo de datos a VARCHAR.

óptimo de consulta

Tenga en cuenta que los comodines del lado izquierdo de una expresión como hace un índice en la columna inútil. Si necesita ese tipo de búsqueda, mirada en el aprovechamiento de búsqueda de texto completo (FTS) utilizando de MySQL nativa sintaxis MATCH .. AGAINST o el apoyo del partido como tercera Esfinge. Es difícil ofrecer una visión más clara sin ver una consulta.

Otros consejos

Buscando a través de 30.000 registros, en cualquier base de datos SQL, debe ser muy rápido si las tablas son adecuadamente indexada . Es necesario asegurarse de que tiene el índice utilizable (s) para sus consultas. También es posible que desee considerar el uso indización de texto .

Eso depende. ¿Cuántas más consultas no generar su aplicación de búsqueda instantánea de un modelo de búsqueda normal?

La mayoría de bibliotecas de Javascript que he visto que hacen esto en realidad no tratar de ejecutar la consulta a menos que el cursor se ha estado inactivo durante algún tiempo. Esto resulta en sólo 3 - 4 veces el número de consultas de búsqueda como normal. Si realmente se ejecuta la búsqueda en cada carácter introducido, entonces vas a tener que lidiar con tantas búsquedas como personajes son de entrada.

Dicho todo esto, que depende enteramente de la cantidad de trabajo que está involucrado en una consulta.

Depende de cómo se creó la base de datos. Índices serían la materia y las columnas seleccionadas se hará también. La última cosa que debe tener en cuenta es el algoritmo de búsqueda. Si sólo está utilizando dónde o cláusula como en las palabras claves vamos creo que va a estar bien, pero si estás después de un gran contenido, probablemente, a continuación, usted debe considerar el texto completo de la función de búsqueda de MySQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top