Displaying posts with tag: MySQL (reset)
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]
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

The post Learning #MySQL at SoyData.Net appeared first on Manejando datos.

Related posts: …

[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]
Export large datasets from MySQL using Python

In the entrance about export large datasets we’ll see several ways of doing it, and now it is time to see how to do it with Python. Conecting to MySQL from Python Before continue, you could read here how to  conect to MySQL from Python, where you also use a class I use to connect because this class does what I like. But for this entrance, I will conect directly to MySQL by using the library PyMySQL. You only need to import the library, set the correct informacion for the...read more

The post Export large datasets from MySQL using Python appeared first on Manejando datos.

Related posts: Exportar grandes …

[Lea más]
Exportar grandes recordsets de MySQL desde Python

En la entrada sobre exportación de grandes recordsets ya vimos distintas formas de ejecutar la tarea, y dejamos pendiente cómo conseguirlo usando Python. Conectando con MySQL desde Python Ya hablamos de cómo conectar con MySQL desde Python en una entrada anterior, donde también publicaba una clase personalizada mia para facilitarme la tarea. Para este caso, voy a conectarme directamente a MySQL mediante la libreria PyMySQL sin clase ninguna. Sólo necesito importar la libreria, establecer la información de la conexión, y … listo! Para comprobar el tiempo, me he creado una...read more

Esta entrada Exportar grandes recordsets de MySQL desde Python es contenido original de …

[Lea más]
Dejad de usar FLUSH PRIVILEGES

Una sirena tiene las mismas probabilidades de arreglar tus problemas de permisos, la diferencia es que la gente continúa creyendo en el mito de FLUSH PRIVILEGES.Cada vez que alguien escribe un tutorial o solución a un problema relacionado con la creación de una nueva cuentas de usuario o la provisión de diferentes privilegios veo la sugerencia de utilizar FLUSH PRIVILEGES. Por ejemplo, el primer post en /r/mysql en el momento de escribir estas líneas, “MySQL:The user specified as a definer does not exist (error 1449)-Solutions” es culpable múltiples veces de esto mismo (Actualización: el usuario ha tachado estas líneas, …

[Lea más]
Pequeña lista de deseos para EXPLAIN

Aunque siempre deseamos un mayor rendimiento y más y mejores características para MySQL, estas no pueden aparecer “sin más” de una versión a otra, requiriendo profundos cambios en la arquitectura y muchas líneas de código. Sin embargo, a veces hay pequeños cambios y arreglos que podrían implementarse por un becario o contribuidor externo, principalmente en la capa SQL, que podrían hacer el ecosistema de MySQL más amigable para novatos y no expertos. Hacer que un programa sea más fácil de usar es muchas veces pasado de largo, pero es increíblemente importante -no todo el mundo usando MySQL es un administrador de bases de datos, y cuanta más gente lo adopte, más gente podrá vivir de él, tanto sus desarrolladores originales como proveedores externos.

Esta es mi propia lista de arreglos para los mensajes de EXPLAIN. Si ya eres un usuario experimentado de MySQL probablemente ya conozcas su sugnificado, pero …

[Lea más]