elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Consultas SQL para saber key Buffer en MyISAM y Buffer Pol en InnoDB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consultas SQL para saber key Buffer en MyISAM y Buffer Pol en InnoDB  (Leído 2,585 veces)
el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 19.746


La libertad no se suplica, se conquista


Ver Perfil WWW
Consultas SQL para saber key Buffer en MyISAM y Buffer Pol en InnoDB
« en: 23 Mayo 2012, 16:34 »

Tunning y optimización del fichero

Código:
/etc/my.cnf

¿Cómo puedo saber el  valor exacto y real que que ocupan mis tablas ya sean en MyISAM o InnoDB?

Para saber si usas tablas con el motor InnoDB y cuáles son:

Código
  1. SELECT table_schema, TABLE_NAME
  2. FROM INFORMATION_SCHEMA.TABLES
  3. WHERE engine = 'innodb';

Consulta para convertir una tabla a InnoDB

Código
  1. ALTER TABLE tblname
  2. ENGINE=InnoDB;

Consulta para convertir todas tus tablas InnoDB a MyISAM

Código
  1. SELECT CONCAT('ALTER TABLE ',table_schema,'.',TABLE_NAME,' engine=MyISAM;')
  2. FROM information_schema.TABLES
  3. WHERE engine = 'InnoDB';

Consulta para convertir todas tus tablas MyISAM a InnoDB

Código
  1. SELECT CONCAT('ALTER TABLE ',table_schema,'.',TABLE_NAME,' engine=InnoDB;')
  2. FROM information_schema.TABLES
  3. WHERE engine = 'MyISAM';


MyISAM key cache


Variable:
key_buffer_size =

Código
  1. SELECT CONCAT(ROUND(KBS/POWER(1024,
  2. IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
  3. SUBSTR(' KMG',IF(PowerOf1024<0,0,
  4. IF(PowerOf1024>3,0,PowerOf1024))+1,1))
  5. recommended_key_buffer_size FROM
  6. (SELECT LEAST(POWER(2,32),KBS1) KBS
  7. FROM (SELECT SUM(index_length) KBS1
  8. FROM information_schema.TABLES
  9. WHERE engine='MyISAM' AND
  10. table_schema NOT IN ('information_schema','mysql')) AA ) A,
  11. (SELECT 2 PowerOf1024) B;
  12.  

Ejemplo Resultado:
recommended_key_buffer_size
463M

    (SELECT 0 PowerOf1024) genera resultado en Bytes
    (SELECT 1 PowerOf1024) genera resultado en KB
    (SELECT 2 PowerOf1024) genera resultado en MB
    (SELECT 3 PowerOf1024) genera resultado en GB

Comando shell script:

asumiendo que
datadir=/var/lib/mysql

Código
  1. find /var/lib/mysql -name '*.MYI'|xargs du -shc

InnoDB Buffer Pol


innodb buffer pool

Variable
innodb_buffer_pool_size =

Código
  1. SELECT CONCAT(ROUND(KBS/POWER(1024,
  2. IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
  3. SUBSTR(' KMG',IF(PowerOf1024<0,0,
  4. IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
  5. FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.TABLES
  6. WHERE engine='InnoDB') A,
  7. (SELECT 2 PowerOf1024) B;
  8.  



En KB:

Código
  1. SELECT SUM(data_length+index_length)/POWER(1024,1) IBPSize_KB
  2. FROM information_schema.TABLES WHERE engine='InnoDB';

En MB:

Código
  1. SELECT SUM(data_length+index_length)/POWER(1024,2) IBPSize_MB
  2. FROM information_schema.TABLES WHERE engine='InnoDB';

En GB:

Código
  1. SELECT SUM(data_length+index_length)/POWER(1024,3) IBPSize_GB
  2. FROM information_schema.TABLES WHERE engine='InnoDB';


Más información y ejemplos:
http://wiki.elhacker.net/bases-de-datos/mysql/optimizacion


« Última modificación: 27 Marzo 2013, 12:23 por el-brujo » En línea

Since 2001
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines