Peut-être que nous pouvons chasser cela avec d'autres intéressés?
Je marqué les colonnes du intormation_schema.tables
qui tardent à accéder:
SELECT
`TABLE_CATALOG`
,`TABLE_SCHEMA`
,`TABLE_NAME`
,`TABLE_TYPE`
,`ENGINE`
,`VERSION`
,`ROW_FORMAT` ------SLOW
,`TABLE_ROWS` ------SLOW
,`AVG_ROW_LENGTH` ------SLOW
,`DATA_LENGTH` ------SLOW
,`MAX_DATA_LENGTH` ------SLOW
,`INDEX_LENGTH` ------SLOW
,`DATA_FREE` ------SLOW
,`AUTO_INCREMENT` ------SLOW
,`CREATE_TIME` ------SLOW
,`UPDATE_TIME` ------SLOW
,`CHECK_TIME` ------SLOW
,`TABLE_COLLATION`
,`CHECKSUM` ------SLOW
,`CREATE_OPTIONS`
,`TABLE_COMMENT`
FROM `tables` WHERE 1
En outre, le cadre de navigation est le /navigation.php
qui appelle
/libraries/common.lib.php => PMA_getTableList()
qui appelle ensuite
/libraries/database_interface.lib.php => PMA_DBI_get_tables_full()
qui contient l'une des requêtes lentes.
I ont remplacé les colonnes lentes SELECT dans cette:
SELECT *,
`TABLE_SCHEMA` AS `Db`,
`TABLE_NAME` AS `Name`,
`TABLE_TYPE` ÀS `TABLE_TYPE`,
`ENGINE` AS `Engine`,
`ENGINE` AS `Type`,
`VERSION` AS `Version`,
`ROW_FORMAT` AS `Row_format`,
`TABLE_ROWS` AS `Rows`,
`AVG_ROW_LENGTH` AS `Avg_row_length`,
`DATA_LENGTH` AS `Data_length`,
`MAX_DATA_LENGTH` AS `Max_data_length`,
`INDEX_LENGTH` AS `Index_length`,
`DATA_FREE` AS `Data_free`,
`AUTO_INCREMENT` AS `Auto_increment`,
`CREATE_TIME` AS `Create_time`,
`UPDATE_TIME` AS `Update_time`,
`CHECK_TIME` AS `Check_time`,
`TABLE_COLLATION` AS `Collation`,
`CHECKSUM` AS `Checksum`,
`CREATE_OPTIONS` AS `Create_options`,
`TABLE_COMMENT` AS `Comment`
à ceci:
SELECT
`TABLE_SCHEMA` AS `Db`,
`TABLE_NAME` AS `Name`,
`TABLE_TYPE` AS `TABLE_TYPE`,
`ENGINE` AS `Engine`,
`ENGINE` AS `Type`,
`VERSION` AS `Version`,
'Compact' AS `Row_format`,
0 AS `Rows`,
0 AS `Avg_row_length`,
0 AS `Data_length`,
0 AS `Max_data_length`,
0 AS `Index_length`,
0 AS `Data_free`,
0 AS `Auto_increment`,
'2000-01-01 00:00:00' AS `Create_time`,
NULL AS `Update_time`,
NULL AS `Check_time`,
`TABLE_COLLATION` AS `Collation`,
NULL AS `Checksum`,
`CREATE_OPTIONS` AS `Create_options`,
`TABLE_COMMENT` AS `Comment`
Ce qui fait la requête courir vite. (Je n'ai généralement pas besoin du nombre de lignes par exemple .. Et je peux les obtenir manuellement aussi, ou avoir 2 installations PhpMyAdmin.)
Remarque: les valeurs remplacées devraient apparaître comme des valeurs factices à partir de maintenant sur l'admin page - mais je pourrais vivre avec cela plutôt que la vitesse lente.
Mais il doit bien y avoir d'autres requêtes lentes, car il se charge toujours lentement. Donc, je voulais juste partager cela, quelqu'un peut continuer avec elle. En ce moment, je n'ai plus de temps.
Êtes-vous trier les tables? Avez-vous des indices ou des clés primaires? Quel moteur de stockage utilisez-vous? –
Je suppose que c'est une tonne d'instructions de compte lent – Corbin
Utilisation de InnoDB pour tous. base de données de la base de données 1ère étape - connexion 2ème - choisir la base de données .... 3ème attendre minutes et minutes ... – webbear