summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2015-04-16 18:38:26 +0400
committerSergey Vojtovich <svoj@mariadb.org>2015-05-13 10:43:14 +0400
commitc4d2c4e844717d9d5b2c0e4f0f9cfc7cc2c24fa6 (patch)
tree035271935eedd56a0168518fb0d279e8027f6e9a /sql/item_cmpfunc.cc
parent7cfa803d8ec9f4f79d44c8dafc675a79f5b3eb88 (diff)
downloadmariadb-git-c4d2c4e844717d9d5b2c0e4f0f9cfc7cc2c24fa6.tar.gz
MDEV-7964 - delete_dynamic() takes 0.12% in OLTP RO
delete_dynamic() was called 9-11x per OLTP RO query + 3x per BEGIN/COMMIT. 3 calls were performed by LEX_MASTER_INFO. Added condition to call those only for CHANGE MASTER. 1 call was performed by lock_table_names()/Hash_set/my_hash_free(). Hash_set was supposed to be used for DDL and LOCK TABLES to gather database names, while it was initialized/freed for DML too. In fact Hash_set didn't do any useful job here. Hash_set was removed and MDL requests are now added directly to the list. The rest 5-7 calls are done by optimizer, mostly by Explain_query and friends. Since dynamic arrays are used in most cases, they can hardly be optimized. my_hash_free() overhead dropped 0.02 -> out of radar. delete_dynamic() overhead dropped 0.12 -> 0.04.
Diffstat (limited to 'sql/item_cmpfunc.cc')
0 files changed, 0 insertions, 0 deletions