Faster method: TRUNCATE or DROP a table?

I am working a a project in the University and I need to re-create a table. For that task, I’m thinking in two ways: using TRUNCATE, or dropping the table and create it again. TRUNCATE is a SQL sentence that empties a table, and for using it, you need to be granted as using DROP priviledge. autokey is reset to zero. The second option is using DROP a table, and create it again using CREATE TABLE. Para valorar de las dos opciones es más rápida, vamos a utilizar PROFILE, para...read more

Esta entrada Faster method: TRUNCATE or DROP a table? es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance …

[Lea más]
Qué es más rápido: TRUNCATE de una tabla, o ELIMINAR una gran tabla en MySQL?

Dentro de un proyecto que tengo con al Universidad, necesito rehacer una tabla y me planteo usar el método más rápido de las dos posibilidades que hay: hacer un TRUNCATE, o bien eliminar la tabla completamente y volverla a crear. TRUNCATE es la opción de vaciar una tabla reiniciando también el valor de autonumérico a generar, volviendo a uno. Eliminar una tabla es hacer DROP TABLE, con lo que directamente te cargas la tablas, y que requerirá un CREATE TABLE para restablecer la estructura. Para valorar de las dos opciones...read more

Esta entrada Qué es más rápido: TRUNCATE de una tabla, o ELIMINAR una gran tabla en MySQL? es contenido original de …

[Lea más]
innodbchecksum: Uso de ibdata

En una base de datos con InnoDB nos podemos encontrar que tenemos un ibdata1 absurdamente grande y no acabamos de entender que hay en dicho fichero. Mediante un attach del bug #57611 de MySQL, podemos ver el tipo de páginas que contiene el ibdata

Si lo bajamos y lo compilamos, simplemente deberemos ejecutarlo indicando dónde tenemos el ibdata. Si el fichero es grande quiza nos interese añadir la opción -v para ver el progreso:

# ./innodbchecksum -v /mysql/data/mysql-data/ibdata1 
file /mysql/data/mysql-data/ibdata1 = 25436356608 bytes (1552512 pages)...
checking pages in range 0 to 1552511
page 19999 okay: 1.288% done
page 29999 okay: 1.932% done
page 39999 okay: 2.576% done
(...)
0       bad checksum
1189668 FIL_PAGE_INDEX
325740  FIL_PAGE_UNDO_LOG
15      FIL_PAGE_INODE
555     FIL_PAGE_IBUF_FREE_LIST
36328 …
[Lea más]
Generación Contraseña rápida con MySQL

Original post http://anothermysqldba.blogspot.com/2015/07/quick-password-generation-with-mysql.html

Aquí está una manera rápida y sencilla para generar una contraseña la aplicación utilizando MySQL. 
Esta consulta se creará una mayúscula y minúscula contraseña generada aleatoriamente en longitud y valores. 


SELECT CONCAT(UCASE(SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , FLOOR( 1 + (RAND() * 4 )) , FLOOR( 4 + (RAND() * 12 )) )), 
SUBSTRING('!@#$%^&*', FLOOR( 1 + (RAND() * 4)) , FLOOR( 1 + (RAND() * 8)) ), 
SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , 5)) as password \G 


Esta consulta tendrá un valor aleatorio para la …

[Lea más]
Procedimiento Secuencia de Fibonacci

Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html

Bueno, ha sido un tiempo desde que he publicado, lo siento por eso. Hoy estaba viendo reposiciones de la serie de televisión Fringe y cuando Walter referencia a la secuencia de Fibonacci Me lado seguido con opciones de MySQL para esto. 

Ahora este post ya existía: 


Así que tomé ese puesto y …

[Lea más]
Learning #MySQL at SoyData.Net

This entrance is dedicated to a new website for learning #BigData in spanish: SoyData.net. What is SoyData.net It is a collaborative online training platform on all matters relating to data in spanish. It now has 15 fully uploaded and available courses to which they have registered more than five hundred people in just two weeks. These courses address specific high demand technologies like Hadoop, MongoDB, R and cover key areas such as visualization, cloud computing or Structured Query Language (SQL). It also provides an introduction to #BigData concept for those...read more

Esta entrada Learning #MySQL at SoyData.Net es contenido original de Manejando datos - Blog de bases de datos y …

[Lea más]
Aprendiendo MySQL en soydata.net

Hoy voy a hablar de un sitio web que he descubierto hace bien poco sobre aprendizaje de Big Data en español: SoyData.net. Qué es SoyData.net Es una plataforma colaborativa de formación online sobre todo lo referente a los Datos en español. Ahora mismo cuenta con 15 cursos subidos y completamente disponibles, a los cuales se han inscrito ya más de medio millar de personas en sólo dos semanas. Estos cursos tratan de tecnologías específicas muy demandadas como Hadoop, MongoDB, R y también cubren áreas clave como visualización, cloud computing o...read more

Esta entrada Aprendiendo MySQL en soydata.net es contenido original de Manejando datos - Blog de bases de datos y …

[Lea más]
MySQL: extended insert

Al realizar dumps con mysqldump podemos hacerlo con los datos insertados mediante un único INSERT o bien un INSERT pode cada fila

# mysqldump --skip-extended-insert dbejemplo | grep ^INSER
INSERT INTO `a` VALUES (1);
INSERT INTO `a` VALUES (2);
INSERT INTO `a` VALUES (3);
# mysqldump --extended-insert dbejemplo | grep ^INSER
INSERT INTO `a` VALUES (1),(2),(3);

Dicho detalle también afecta al tiempo de importación

Vamos a usar una base de datos relativamente pequeña de ejemplo:

# du -hs /var/lib/mysql/dbejemplo/
57M     /var/lib/mysql/dbejemplo/

Creamos los dumps con y sin –extended-insert

# mysqldump --skip-extended-insert dbejemplo > /var/backup/test/skip-extended-insert.sql
# mysqldump --extended-insert dbejemplo > /var/backup/test/extended-insert.sql

En el caso del dump com extended …

[Lea más]
Total de transacciones InnoDB en MySQL

Para tener una idea de la actividad que tiene una base de dados normalmentr de usa SHOW PROCESLIST, pero es engañoso en algunos casos. Por ejemplo, si tenemos un pool de conexiones y también transacciones InnoDB abiertas veremos en ambos casos que estan en estado Sleep

Podemos verlo mediante la siguiente query:

mysql> select ps.id, ps.user,ps.host, ps.db, ps.command, ps.time, ps.state, trx.trx_state, ps.info from PROCESSLIST ps left join INNODB_TRX trx on ps.id=trx.trx_mysql_thread_id;
+----+------+-----------+--------------------+---------+------+-----------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | user | host      | db                 | command | time | state     | trx_state | info …
[Lea más]
Lessons learnt after doing webscrapping

Today it is time for lessons that I’ve learnt after finishing (successfully) a webscrapping to get all companies participans in #Fitur 2015, International Tourism Meeting (Feria Internacional del Turismo) in Spain, held every year in Madrid: the appointment for the turist sector. As a conclusion, I did it in near 3 days, and only using 160 lines of code. Only 160 lines? Yes, more or less. The coding time has been around 12 hours, plus 10-14 hours of processing, spread in a week or so!. Please, allow me not to...read more

Esta entrada Lessons learnt after doing webscrapping es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance …

[Lea más]