From e748999eb5e0922bff7d0cb71d2d60dc4a4d783a Mon Sep 17 00:00:00 2001 From: Mayank Prasad Date: Sat, 21 Apr 2012 05:23:09 +0530 Subject: [PATCH] BUG#12427262 : 60961: SHOW TABLES VERY SLOW WHEN NOT IN SYSTEM DISK CACHE Details: - test case bug12427262.test was failing on windows because on windows '/' was not recognized. And this was used in LIKE clause of the query being run in this test case. Fix: - Windows needs '\\\\' for path seperater in mysql. I was not sure how to keep a single query with two different syntax based on platform. So modifying query to make sure it runs correctly on both platform. --- mysql-test/r/bug12427262.result | 19 +++++++++++-------- mysql-test/t/bug12427262.test | 15 +++++++++------ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/mysql-test/r/bug12427262.result b/mysql-test/r/bug12427262.result index f0f7ae46ba2..c541ba0f664 100644 --- a/mysql-test/r/bug12427262.result +++ b/mysql-test/r/bug12427262.result @@ -1,8 +1,8 @@ # # Bug#12427262 : 60961: SHOW TABLES VERY SLOW WHEN NOT IN SYSTEM DISK CACHE. # -create database show_table_db; -use show_table_db; +create database show_table_lw_db; +use show_table_lw_db; create table t1 (c1 int); create table t2 (c1 int); create table t3 (c1 int); @@ -14,9 +14,10 @@ create table t8 (c1 int); create table t9 (c1 int); create table t10 (c1 int); select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_before; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_before; show tables; -Tables_in_show_table_db +Tables_in_show_table_lw_db t1 t10 t2 @@ -28,12 +29,13 @@ t7 t8 t9 select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_after; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_after; select @count_read_after-@count_read_before; @count_read_after-@count_read_before 0.000000000000000000000000000000 show full tables; -Tables_in_show_table_db Table_type +Tables_in_show_table_lw_db Table_type t1 BASE TABLE t10 BASE TABLE t2 BASE TABLE @@ -45,9 +47,10 @@ t7 BASE TABLE t8 BASE TABLE t9 BASE TABLE select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_after; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_after; select @count_read_after-@count_read_before; @count_read_after-@count_read_before 10.000000000000000000000000000000 drop table t1; -drop database show_table_db; +drop database show_table_lw_db; diff --git a/mysql-test/t/bug12427262.test b/mysql-test/t/bug12427262.test index b7193dd1125..aca37a651c4 100644 --- a/mysql-test/t/bug12427262.test +++ b/mysql-test/t/bug12427262.test @@ -6,8 +6,8 @@ --source include/have_perfschema.inc --disable_warnings -create database show_table_db; -use show_table_db; +create database show_table_lw_db; +use show_table_lw_db; create table t1 (c1 int); create table t2 (c1 int); create table t3 (c1 int); @@ -22,14 +22,16 @@ create table t10 (c1 int); # Query PS to know initial read count for frm file. select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_before; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_before; show tables; # Query PS to know read count for frm file after above query. It should # not be changed as FRM file will not be opened for above query. select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_after; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_after; select @count_read_after-@count_read_before; @@ -38,11 +40,12 @@ show full tables; # Query PS to know read count for frm file after above query. COUNT_READ # will be incremented by 1 as FRM file will be opened for above query. select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME -like "%show_table_db/%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' into @count_read_after; +like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM' +into @count_read_after; select @count_read_after-@count_read_before; --disable_warnings drop table t1; -drop database show_table_db; +drop database show_table_lw_db; --enable_warnings