
Archivo para la categoría ‘Optimización’ .



Revisando unos papeles he encontrado una vieja “chuleta” en la que se explica como optimizar nuestro código SQL para realizar las consultas rápidamente
.
-
Búsqueda de palabras
/* Muy rápida */ SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST ('palabra')
/* Rápida */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘+palabra’ IN BOOLEAN MODE)
/* Lentas */
SELECT * FROM tabla WHERE RLIKE ‘(^| +)palabra($| +)’
/* o */
SELECT * FROM tabla WHERE
RLIKE ‘([[:space:]]|[[:<:]])palabra([[:space:]]|[[:>:]])’
-
Búsquedas contenidas
/* Muy rápida */ SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST ('palabra*' IN BOOLEAN MODE)
/* Rápida */
SELECT * FROM tabla WHERE FIELD LIKE ‘palabra%’
/* Lentas */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘*palabra*’ IN BOOLEAN MODE)
/* o */
SELECT * FROM tabla WHERE campo LIKE ‘%palabra%’
-
Número de registros
/* Muy rápida */ SELECT SQL_CALC_FOUND_ROWS * FROM tabla WHERE condición LIMIT 0, 10 SELECT FOUND_ROWS()
/* Rápido */
SELECT * FROM tabla WHERE condición LIMIT 0, 10
SELECT COUNT(clave) FROM TABLE WHERE condición
PD. No se la página de la que lo saqué en su momento, si alguien lo sabe que lo diga que se añade a la entrada
.


La compañía incorporará como principal novedad la posibilidad de ofrecer múltiples formatos en una única búsqueda de modo que aparezcan videos, imágenes y mapas junto a los tradicionales enlaces de texto.
Google mejorará su motor de búsqueda mediante la incorporación de una variedad de enlaces diferentes en una única lista de resultados. En este sentido, Sundar Pichai, director de producto de la compañía, afirmó que los usuarios verán un incremento en la frecuencia en la que los resultados de la búsqueda incluyen diferentes tipos de enlaces tales como páginas web, videoclips, imágenes y mapas. “Estamos todavía en los primeros pasos, más adelante ofreceremos más detalles acerca del momento en que implantaremos estas novedades”, explicó.
El esfuerzo de búsqueda universal, formulado oficialmente en mayo, pero que lleva desarrollándose en la compañía durante años, tiene como objetivo ofrecer a los usuarios una experiencia de búsqueda más cohesiva, de modo que por ejemplo no tengan que dirigirse a la sección de imágenes del buscador si requieren una fotografía.
Como complemento para impulsar esta búsqueda universal, Google necesita mejorar la manera en que ayuda a los usuarios a formula y redefinir sus solicitudes, además de optimizar su servicio de búsqueda personalizada, que tiene en cuenta las búsquedas pasadas para adaptar los resultados de manera apropiada.
Mientras tanto, otras fuentes de la empresa confirman que Google está estudiando terminar con su larga tradición de ofrecer sólo anuncios de texto en sus resultados de búsqueda. De este modo, los directivos están planteando posibles escenarios en los que la publicidad con imágenes o videos fuese más útil que los anuncios tradicionales de pago por clic.


Leo en SigT un estupendo manual que nos permitirá optimizar las peticiones HTTP de nuestro servidor basándonos en un principio tan simple como el siguiente utilizando CSS:
- Una imagen = una petición HTTP.
- Dos imágenes = dos peticiones HTTP.
- Las dos imágenes juntadas en una = una petición HTTP.
¿Ventajas y desventajas?
Las ventajas son:
- Obtenemos una reducción del tamaño de 3.2KB a 1.6KB.
- Una imagen (una petición) que actúa como 4 imágenes (o las que queramos).
- Reducción importante de peticiones HTTP si es usado correctamente.
- Sensación de mayor rapidez: cuando una conexión va lenta si ves aparecer varias imágenes de golpe (aunque en realidad sólo sea una y el tamaño sea igual a su equivalente en imágenes separadas) parecerá que es más rápido.
Si bien el uso de keep alive minimiza el número de peticiones seguiremos contando con la ventaja de que, se use o no keep alive, el número de peticiones no será superior al de objectos que conforma la web por lo que si tenemos 100 iconos en portada… ejem…
Las desventajas son:
- Hay que copiar y pegar las imágenes además de intentar que no sobre mucho “espacio en blanco”.
- Cada vez que añadamos una imagen tendremos que rehacer el “set” aunque esto lo podemos solucionar conservando las originales y — sobretodo — añadiendo espacio en blanco.
Leido en SigT.









