/*********************************************************************//**
Fetches or calculates new estimates for index statistics. */ void dict_stats_update_for_index(trx_t *trx, dict_index_t *index) noexcept
MY_ATTRIBUTE((nonnull));
enum dict_stats_schema_check { /** The InnoDB persistent statistics tables do not exist. */
SCHEMA_NOT_EXIST= -1, /** The schema of the InnoDB persistent statistics tables is valid. */
SCHEMA_OK= 0, /** The schema is invalid. */
SCHEMA_INVALID
};
/** @return whether the persistent statistics storage is usable */
dict_stats_schema_check
dict_stats_persistent_storage_check(bool dict_already_locked= false) noexcept;
/** Save the persistent statistics of a table or an index. @paramtabletablewhosestatstosave @paramonly_for_indextheindexIDtosavestatisticsfor(0=all)
@return DB_SUCCESS or error code */
dberr_t dict_stats_save(dict_table_t* table, index_id_t index_id= 0);
/** Read the stored persistent statistics of a table. */
dberr_t dict_stats_fetch_from_ps(dict_table_t *table);
/** Calculatenewestimatesfortableandindexstatistics.Thisfunction isrelativelyquickandisusedtocalculatenon-persistentstatistics. @paramtrxtransaction @paramtabletableforwhichthenon-persistentstatisticsarebeingupdated @returnerrorcode
@retval DB_SUCCESS_LOCKED REC if the table under bulk insert operation */
dberr_t dict_stats_update_transient(trx_t *trx, dict_table_t *table) noexcept;
/** Calculatenewestimatesfortableandindexstatistics.Thisfunction isslowerthandict_stats_update_transient(). @paramtrxtransaction @paramtabletableforwhichthepersistentstatisticsarebeingupdated @returnDB_SUCCESSorerrorcode
@retval DB_SUCCESS_LOCKED_REC if the table under bulk insert operation */
dberr_t dict_stats_update_persistent(trx_t *trx, dict_table_t *table) noexcept;
/** Trytocalculateandsavenewestimatesforpersistentstatistics. Ifpersistentstatisticsarenotenabledforthetableornotavailable,
this does nothing. */
dberr_t dict_stats_update_persistent_try(trx_t *trx, dict_table_t *table)
noexcept;
/** Rename a table in InnoDB persistent stats storage. @paramold_nameoldtablename @paramnew_namenewtablename @paramtrxtransaction
@return DB_SUCCESS or error code */
dberr_t dict_stats_rename_table(constchar *old_name, constchar *new_name,
trx_t *trx); /** Rename an index in InnoDB persistent statistics. @paramdbdatabasename @paramtabletablename @paramold_nameoldtablename @paramnew_namenewtablename @paramtrxtransaction
@return DB_SUCCESS or error code */
dberr_t dict_stats_rename_index(constchar *db, constchar *table, constchar *old_name, constchar *new_name,
trx_t *trx);
/** Delete all persistent statistics for a database. @paramdbdatabasename @paramtrxtransaction
@return DB_SUCCESS or error code */
dberr_t dict_stats_delete(constchar *db, trx_t *trx);
/** Save an individual index's statistic into the persistent statistics storage. @param[in]indexindextobeupdated @param[in]last_updatetimestampofthestat @param[in]stat_namenameofthestat @param[in]stat_valuevalueofthestat @param[in]sample_sizenpagessampledorNULL @param[in]stat_descriptiondescriptionofthestat @param[in,out]trxtransaction
@return DB_SUCCESS or error code */
dberr_t
dict_stats_save_index_stat(
dict_index_t* index,
time_t last_update, constchar* stat_name,
ib_uint64_t stat_value,
ib_uint64_t* sample_size, constchar* stat_description,
trx_t* trx)
MY_ATTRIBUTE((nonnull(1, 3, 6, 7)));
/** Write all zeros (or 1 where it makes sense) into a table and its indexes' statisticsmembers.Theresultingstatscorrespondtoanemptytable.
@param table table statistics to be emptied */ void dict_stats_empty_table(dict_table_t *table);
/** Clear the statistics for a table and save them if
persistent statistics are enabled. */ void dict_stats_empty_table_and_save(dict_table_t *table); #endif/* dict0stats_h */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.