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:
parent
8f603bcbca
commit
12d9fe14be
@ -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 */
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user