Forse possiamo cacciare questo giù insieme ad altri interessati?
segnai le colonne della intormation_schema.tables
che sono lento per essere letta:
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
Inoltre, il frame di navigazione è il /navigation.php
che chiama
/libraries/common.lib.php => PMA_getTableList()
che poi chiama
/libraries/database_interface.lib.php => PMA_DBI_get_tables_full()
che contiene una delle query lente.
ho sostituito le colonne lenti selezionare in questo:
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`
Per questo:
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`
che ha reso la query correre veloce. (Di solito non ho bisogno del conteggio delle righe per esempio .. E posso anche ottenerli manualmente. O avere 2 installazioni PhpMyAdmin.)
Nota: i valori sostituiti devono apparire come valori fittizi da ora in poi sull'admin. pagina - ma potrei vivere con quello piuttosto che con la bassa velocità.
Ma ci devono essere altre query lente e, in quanto carica ancora lentamente.
Quindi, solo voluto condividere questo, qualcuno potrebbe andare avanti con lui. In questo momento, non ho più tempo.
Stai ordinando i tavoli? Hai qualche indizio o chiave primaria? Quale motore di archiviazione stai usando? –
La mia ipotesi è una tonnellata di dichiarazioni di conto lento – Corbin
Uso di InnoDB per tutti. Home Banca dati page primo passo -. login 2 ° -. scegliere di database .... 3 ° minuti di attesa e minuti ... – webbear