summaryrefslogtreecommitdiff
path: root/innobase/dict
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-12-17 13:17:48 +0200
committerunknown <heikki@donna.mysql.fi>2001-12-17 13:17:48 +0200
commitb41e57a70e48ae87d51cd1d7cc18a6ec8641d7ac (patch)
treebbf679c7e6e7f4df6dd459e99b202a5822b46526 /innobase/dict
parent56a8ad593e0f951b639b4978d5124b2424defe07 (diff)
downloadmariadb-git-b41e57a70e48ae87d51cd1d7cc18a6ec8641d7ac.tar.gz
dict0mem.c, dict0dict.c, row0mysql.c, dict0mem.h:
Do less statistics calculations for tables dict0mem.h, row0mysql.c: Make calculation of new statistics less frequent, because the statistics in 3.23.44 involves many random disk reads innobase/include/dict0mem.h: Do less statistics calculations for tables innobase/row/row0mysql.c: Do less statistics calculations for tables innobase/dict/dict0dict.c: Do less statistics calculations for tables innobase/dict/dict0mem.c: Do less statistics calculations for tables
Diffstat (limited to 'innobase/dict')
-rw-r--r--innobase/dict/dict0dict.c10
-rw-r--r--innobase/dict/dict0mem.c4
2 files changed, 9 insertions, 5 deletions
diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c
index bf3e134febb..a7a89013315 100644
--- a/innobase/dict/dict0dict.c
+++ b/innobase/dict/dict0dict.c
@@ -455,7 +455,7 @@ dict_table_get(
mutex_exit(&(dict_sys->mutex));
if (table != NULL) {
- if (table->stat_last_estimate_counter == (ulint)(-1)) {
+ if (!table->stat_initialized) {
dict_update_statistics(table);
}
}
@@ -2578,6 +2578,8 @@ dict_update_statistics_low(
ulint size;
ulint sum_of_index_sizes = 0;
+ printf("Updating statistics for table %s\n", table->name);
+
/* Find out the sizes of the indexes and how many different values
for the key they approximately have */
@@ -2612,9 +2614,11 @@ dict_update_statistics_low(
table->stat_clustered_index_size = index->stat_index_size;
table->stat_sum_of_other_index_sizes = sum_of_index_sizes
- - index->stat_index_size;
+ - index->stat_index_size;
+
+ table->stat_initialized = TRUE;
- table->stat_last_estimate_counter = table->stat_modif_counter;
+ table->stat_modified_counter = 0;
}
/*************************************************************************
diff --git a/innobase/dict/dict0mem.c b/innobase/dict/dict0mem.c
index 57926ab9d2f..019d6ef334f 100644
--- a/innobase/dict/dict0mem.c
+++ b/innobase/dict/dict0mem.c
@@ -73,9 +73,9 @@ dict_mem_table_create(
table->does_not_fit_in_memory = FALSE;
- table->stat_last_estimate_counter = (ulint)(-1);
+ table->stat_initialized = FALSE;
- table->stat_modif_counter = 0;
+ table->stat_modified_counter = 0;
mutex_create(&(table->autoinc_mutex));
mutex_set_level(&(table->autoinc_mutex), SYNC_DICT_AUTOINC_MUTEX);