[MYSQL] + [InnoDB] + The total number of locks exceeds the lock table size

Cuando uno trabaja con Bases de Datos muy grandes, en mi caso de alrededore de 60 Millones de Datos, existen ciertas limitantes.

Una de ellas es la cantidad de memoria utilizada por los indices en las BdD, esta por efecto en Mysql al parecer es de 8Megas por lo que al trabajar con datos muy grandes no sirve.

Una forma de agrandar el espacio de memoria reservado para la utilización de estos indices es editar el archivo de configuración de mysql.

 

  • sudo vim /etc/mysql/my.cnf  (Pueden usar su editor favorito)
  • Debajo de [mysqld] agregar : set-variable=innodb_buffer_pool_size=256M
Esto debería solucionar los problemas que causa el limite del lock.
 
Este es un extracto de la página ->  http://mrothouse.wordpress.com/2006/10/20/mysql-error-1206/

 

 

 

Read More >[MYSQL] + [InnoDB] + The total number of locks exceeds the lock table size

Introducción a las BdD

Introducción a las Bases de Datos(BdD).

 

Hasta ahora hemos trabajado con archivos. Los archivos son la forma fundamental de manejo de información, pero no son óptimos al momento de estar trabajando con una gran cantidad de información.

Las BdD, además de guardar una gran cantidad de información, pueden poseer relación entre las tablas que las conforman, pudiendo asi generar consultas de manera , muy rápida.

Existen además 3 razones fundamentales por las que usamos BdD:

  • Seguridad. ( Uso de Usuarios )

  • Conveniencia. Recuperación de la información rápida y eficiente !

  • Concurrencia (Acceso Simultaneo).

Si quisiéramos modificar información dentro de un archivo, como ya lo hemos visto, puede verse algo tedioso. La misma modificación en nuestros datos puede llevarse a cabo de una manera muy sencilla usando las BdD, mediante sus funciones de búsqueda y actualización de la información.

 

 

Porque Veremos Bases de Datos.

 

Las BdD ahora son usadas prácticamente en todos lados. Es imposible que hoy en día no nos hayamos topado con una emrpesa que no las haya usado; desde los bancos hasta la misma Universidad. (Algunos deben de administrar mejor estas BdD para asegurar que la información este la mayor cantidad del tiempo accesible.)

 

 

Organización en la BdD.

 

La información en la BdD se organiza en tablas que están compuestas por filas y columnas(fields).

Cada fila corresponde a un conjunto de valores, que además posee un conjunto de columnas que representan los campos.

 

Se podría a primera vista parecer a una de las hojas de calculo de excel, pero no confundir debido a que mucha gente llama a la información que poseen en excel una BdD, pero no lo son.}

 

SQL : Structured Query Language.

 

De la misma manera que nosotros ocupamos El lenguaje Java para la programación, usamos el lenguaje SQL para interactuar con la información de la BdD.

Definiremos Query como una petición para información especifica tomada de una base de datos.

Nosotros le enviaremos Querys a la BdD esperando una respuesta. Si esta respuesta existe, nos será enviada la información pedida en formato de filas y columnas.

 

Los principales roles de SQL en las BdD son:

  • Crear la BdD y definir su estructura. (Tablas y Campos)

  • Generar las Query.

  • Controlas la seguridad de la BdD.

 

Queries

Para una lista de como funcionan las queries pueden ver el siguiente enlace.

Read More >Introducción a las BdD

Introducción a SQL

 

 En esta introducción veremos que es SQL, y algunas sentencias que nos sirven para manejar básicamente las bases de datos.

 

¿Que es SQL?

 SQL es un lenguaje de consulta de BdD relacionales estándar. Es un lenguaje declarativo, lo que quiere decir que le pedimos la información que queremos obtener.  A continuación mostraremos las consultas básicas de SQL.

Crear Bases de Datos

La base de datos, es el lugar donde almacenaremos todas nuestras tablas.

create database pruebasCompu;

Crear Tablas

Podemos tener muchas tablas dentro de una base de datos, y cada una con información distinta. Cada una de estas tablas posee campos en los cuales  guardaremos la información.

CREATE TABLE `compu`.`pruebaTabla` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre` VARCHAR( 100 ) NOT NULL ,
`desc` TEXT NOT NULL
);

Seleccionar de las Tablas

Con la selección obbtenemos la información que necesitamos. Ya veremos como hacer consultas un poco mas complejas.

SELECT * FROM `pruebaTabla` ;

Insertar en las Tablas

Para insertar en una tabla, debemos decirle lso campos a los cuales le queremos agregar información, y luego le damos los valores que queremos que tome.

INSERT INTO `compu`.`pruebaTabla` (`nombre` ,`desc`)
VALUES ('este es un nombre', 'Y esta es su descripción');

 

Borrar Información

En general no queremos borrar TODOS los datos de una tabla, asi que usamos una condición para restringir la cantidad de datos a borrar.

DELETE FROM `compu`.`pruebaTabla` WHERE `pruebaTabla`.`id` = 2 LIMIT 1

Borrar una Tabla.

drop table pruebaTabla;

 

 

Read More >Introducción a SQL