1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-28 13:01:41 +03:00

MDEV-7956 - handler::rebind_psi() takes 0.07% in OLTP RO

Do not call handler::rebind_psi() and handler::unbind_psi() when performance
schema is compiled out.

Overhead change:
handler::rebind_psi 0.04% -> out of radar
handler::unbind_psi 0.03% -> out of radar
open_table          0.21% -> 0.18%
close_thread_table  0.05% -> 0.05%
This commit is contained in:
Sergey Vojtovich 2015-06-17 13:09:22 +04:00
parent 8f603bcbca
commit 12d9fe14be
2 changed files with 10 additions and 4 deletions

View File

@ -30,6 +30,9 @@
*/
#ifdef HAVE_PSI_TABLE_INTERFACE
#define MYSQL_UNBIND_TABLE(handler) (handler)->unbind_psi()
#define MYSQL_REBIND_TABLE(handler) (handler)->rebind_psi()
#define PSI_CALL_unbind_table PSI_TABLE_CALL(unbind_table)
#define PSI_CALL_rebind_table PSI_TABLE_CALL(rebind_table)
#define PSI_CALL_open_table PSI_TABLE_CALL(open_table)
@ -38,6 +41,9 @@
#define PSI_CALL_release_table_share PSI_TABLE_CALL(release_table_share)
#define PSI_CALL_drop_table_share PSI_TABLE_CALL(drop_table_share)
#else
#define MYSQL_UNBIND_TABLE(handler) /* no-op */
#define MYSQL_REBIND_TABLE(handler) /* no-op */
#define PSI_CALL_unbind_table(A1) /* no-op */
#define PSI_CALL_rebind_table(A1,A2,A3) NULL
#define PSI_CALL_close_table(A1) /* no-op */

View File

@ -1100,7 +1100,7 @@ void close_thread_table(THD *thd, TABLE **table_ptr)
critical section.
*/
if (table->file != NULL)
table->file->unbind_psi();
MYSQL_UNBIND_TABLE(table->file);
tc_release_table(table);
DBUG_VOID_RETURN;
@ -1635,8 +1635,8 @@ use_temporary_table(THD *thd, TABLE *table, TABLE **out_table)
thread to another, we need to let the performance schema know that,
for aggregates per thread to work properly.
*/
table->file->unbind_psi();
table->file->rebind_psi();
MYSQL_UNBIND_TABLE(table->file);
MYSQL_REBIND_TABLE(table->file);
}
#endif
}
@ -2530,7 +2530,7 @@ retry_share:
if (table)
{
DBUG_ASSERT(table->file != NULL);
table->file->rebind_psi();
MYSQL_REBIND_TABLE(table->file);
}
else
{