key_buffer_size para mysql con 4gb, 8gb, 16gb, 32gb RAM

Para calcular el tamaño que tenemos que poner en nuestra configuración de mysql en el key_buffer_size, es tan simple como ejecutar este comando, ya sea desde mysq por php o cualquier programa que nos permita ejecutar querys, o también desde consola ssh. Tenemos en cuenta que este valor es para MyISAM.

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1))
recommended_key_buffer_size FROM
(SELECT LEAST(POWER(2,32),KBS1) KBS
FROM (SELECT SUM(index_length) KBS1
FROM information_schema.tables
WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','mysql')) AA ) A,
(SELECT 2 PowerOf1024) B;

El valor que nos devuelva es el que tendremos que poner de la siguiente forma

key_buffer_size=1024M

cambiando el número porl ese valor.

En caso de querer realizar la misma accion para calcular el valor para InnoDB innodb_buffer_pool_size, la query a ejecutar es la siguiente:

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables
WHERE engine='InnoDB') A,
(SELECT 2 PowerOf1024) B;

 

Léete también  Como ejecutar multiples updates con Php en una única consulta MySQL

AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.