Archivo de la categoría MySQL

MySQL vs PostgreSQL – El enfrentamiento definitivo

Se acabaron los flames, tras este aclarador vídeo no podrá haber más discusión sobre qué Base de Datos es mejor, MySQL o PostgreSQL – Monty Widenius (MySQL) vs. Josh Berkus (PostgreSQL)

Más videos de Bases de Datos en Amusing Database Videos

Indexando datos geográficos – Serie de artículos

Ever Pot , de rooftopsolutions.nl, ha escrito una interesante serie de 3 artículos sobre la indexación de datos geográficos.

Mapas vectoriales de los municipios de España

Como siempre, te encuentras las cosas cuando ya no te hacen falta. Marc Palaueb se ha pegazo un currazo impresionante de varias semanas para crear y ofrecernos mapas vectoriales en formato FLA de todas las provincias y municipios españoles. Por si fuera poco, para facilitarnos más el trabajo, nos ofrece además dos tablas MySQL debidamente relacionadas entre si, con todos los Pueblos y Provincias de España.

teruel_existe1

Él mismo lo comenta en su blog nbsp.es. Sigo a Marc como usuario de la lista de correo Ovillo, que aprovecho para recomendaros.

Optimización LEFT JOIN MySQL con particiones

Caso de estudio de Optimización LEFT JOIN MySQL con particiones en http://blog.new-bamboo.co.uk/2007/11/20/database-optimization-for-rails-apps

Varios enlaces sobre Desarrollo Web

Semana pesada con mucho movimiento de trabajo administrativo, de código y de mudanza de servidores, asi que esta vez toca hacer un simple “dump mental” de las novedades descubiertas a lo largo de estos dias, sin orden ni concierto.

MySQL – Generar SQL para optimizar las tablas más rellenitas

¿ Generar SQL desde MySQL ? Pozi.

MySQL:
  1. SELECT CONCAT('OPTIMIZE TABLE ', table_name, ';')
  2. FROM information_schema.tables
  3. WHERE table_schema = aqui_tu_base_de_datos
  4. AND table_rows>= 1000;

Esto generará una salida de forma automática tal que...

MySQL:
  1. OPTIMIZE TABLE actions_log;
  2. OPTIMIZE TABLE forum_messages;
  3. OPTIMIZE TABLE forum_users;
  4. OPTIMIZE TABLE forum_privmsg;

Ahora basta con pasarla a MySQL en linea de comandos, con un cron, desde PHP, etc... y asegurarnos que todas las tablas que pasen de X registros en nuestra BD se optimizan solitas de forma completamente automática.

Si queremos obtener el mismo resultado pero de todas las bases de datos de nuestro servidor, y no sólo de una determinada:

MySQL:
  1. SELECT CONCAT('OPTIMIZE TABLE ', table_schema, ".", table_name, ';')
  2. FROM information_schema.tables
  3. WHERE table_rows>= 1000;

That's all, folks.

Buenas noticias en el caso de Ivan Nikitin

Lo prometido es deuda, asi que os cuento novedades sobre el estado de Ivan Nikitin, gracias a Kaj Arnö, que es quien nos mantiene informados a todos.

Buenas noticias: Ivan Nikitin está mejorando poco a poco; tras un duro tratamiento en Heidelberg, comienza a responder al mismo muy positivamente. Es más, la mejor parte del asunto es que, aunque las donaciones aún no son suficientes para pagar el transplante, si las cosas siguen asi es posible que ni siquiera sea necesario dicho transplante; los médicos alemanes han dado, por medio del tratamiento, un medio al cuerpo de Ivan de regenerarse a si mismo, y parece estar funcionando.

Leer más »

Eliminar las consultas lentas de nuestra base de datos MySQL

Via Giuseppe Maxia, nos llega un procedimiento almacenado que elimina de la cola de procesos automáticamente cualquier consulta que supere N segundos en ejecutarse o que se tire más de N segundos "idle". Requiere MySQL 5.1.

Leer más »

Uso de la función soundex() en MySQL

Uso de la función soundex() en MySQL en Scribd, páginas 34 y 35. También toca Full Text Search y Sphinx. Via viciño !

Gráficas de MySQL en modo texto

Partiendo de esto...

MySQL:
  1. CREATE TABLE visitas (
  2.     Mes VARCHAR(3) NOT NULL,
  3.     Visitas FLOAT NOT NULL,
  4.     Pageviews FLOAT NOT NULL
  5. );
  6.  
  7. INSERT INTO visitas VALUES
  8. ('Ene', 100, 100),
  9. ('Feb', 92, 145),
  10. ('Mar', 96, 201),
  11. ('Abr', 100, 101)
  12.  
  13. SELECT Mes,
  14. REPEAT("%", (Visitas-0.0)*0.2+1) Visitas,
  15. REPEAT("#", (Pageviews-0.0)*0.2+1) Pageviews
  16. FROM visitas;

Podemos generar un simple "overview" desde consola como este:

+-----+-------------+-----------------------+
| Mes | Visitas     | Pageviews             |
+-----+-------------+-----------------------+
| Ene | %%%%%%%%%%% | ###########           |
| Feb | %%%%%%%%%%  | ###############       |
| Mar | %%%%%%%%%%  | ##################### |
| Abr | %%%%%%%%%%% | ###########           |
+-----+-------------+-----------------------+
4 rows in set (0.01 sec)