Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

viernes, 3 de septiembre de 2010

Tablas Temporales | Mysql Server

Hoy mientras programaba me encontre con la dificultad de que un procedimiento de INSERTS MASIVOS me encontre con la dificultad de que la creación de 180.000/300.000 registros llevaba demasiado tiempo para una PC de escritorio, el cual el usuario no estaría dispuesto a esperar.
El procedimiento algo complejo por la cantidad de tablas que se necesitaban ademas de estar controlados por interación para poder agruparlos de 4 en 4 con varias complicaciones más daban por resultado algo así como 2000 inserts por minuto, mirando un poco los ENGINES que soporta MySql me puse a investigar sobre las tablas MEMORY (anteriormente HEAP) las cuales se almacenan en memoria y se pierden al reiniciar el servidor, como dichos datos eran solo de utilidad para armar un reporte nada se ajustaba más que esto, cabe agregar que las definiciones de las tablas se mantienen por lo que lo unico que se persiste en memoria son solo los datos.
Los resultados la verdad me sorprendieron ya que pasó de 2000 ins/min a 17000 ins/min por lo cual estariamos hablando de 8,5 veces mas rápido.
Para terminar quería comentarles que al trabajar con muchos registros es posible que tengan que modificar el max_heap_table_size porque aparecerá el error "FULL TABLE" (por defecto si no me equivoco bien seteado en 1 Mega).

viernes, 7 de agosto de 2009

Importar datos desde CVS | Mysql Win XP

Despues de ejecutar una consulta para unir dos tablas desde
el MySQL
Query Browser exporto desde las opciones los datos
con formato 'cvs' al cual llame datos.cvs


Ubicacion desde donde toma los Archivos en WinXP:
C:\Documents and Settings\All Users\Datos de programa\
MySQL\MySQL Server 5.1\data\db_name\
datos.cvs --> datos

Y lo renombro quitandole la extension por lo que queda con
el nombre 'datos'.


Y la consulta seria:

LOAD DATA INFILE 'datos' INTO TABLE 'my_table'
FIELDS TERMINATED BY ',' ENCLOSED BY ' " '
LINES TERMINATED BY '\n' IGNORE 1 LINES;

Le damos que ignore la primera linea ya que contiene el
nombre de las columnas.

jueves, 9 de abril de 2009

Permisos de Usuario para Acceso remoto | Mysql Server

  • GRANT ALL PRIVILEGES ON *.* TO USERNAME@IP IDENTIFIED BY "PASSWORD";
  • FLUSH PRIVILEGES;
Donde IP podria ser:
  • % | cualquier ip
  • %.dominio.com | todas los equipos pertenecientes al dominio.
  • 192.168.1.% | todas las pertenecientes a 1921.168.1.1/192.168.1.255
  • Etc

Permitir Conexiones desde otro equipo | Mysql Server

Tan solo hay que hacer la siguiente modificación de la configuración del Mysql Server.
  • En el archivo my.cnf es cuestión de comentar la linea siguiente:
bind-address = 127.0.0.1
  • Lo cual quedaría
#bind-address = 127.0.0.1