Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
e44633c8
Commit
e44633c8
authored
May 26, 2010
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rename "partitioned key cache" to "segmented"
parent
5379038a
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
157 additions
and
155 deletions
+157
-155
mysql-test/r/key_cache.result
mysql-test/r/key_cache.result
+88
-88
mysql-test/suite/funcs_1/r/is_columns_is.result
mysql-test/suite/funcs_1/r/is_columns_is.result
+4
-4
mysql-test/t/key_cache.test
mysql-test/t/key_cache.test
+56
-54
mysql-test/t/select_pkeycache-master.opt
mysql-test/t/select_pkeycache-master.opt
+1
-1
mysql-test/t/select_pkeycache.test
mysql-test/t/select_pkeycache.test
+2
-2
sql/mysqld.cc
sql/mysqld.cc
+3
-3
sql/set_var.cc
sql/set_var.cc
+1
-1
sql/sql_show.cc
sql/sql_show.cc
+2
-2
No files found.
mysql-test/r/key_cache.result
View file @
e44633c8
drop table if exists t1, t2, t3;
SET @save_key_buffer_size=@@key_buffer_size;
SET @save_key_cache_block_size=@@key_cache_block_size;
SET @save_key_cache_
partitions=@@key_cache_partition
s;
SET @save_key_cache_
segments=@@key_cache_segment
s;
SELECT @@key_buffer_size, @@small.key_buffer_size;
@@key_buffer_size @@small.key_buffer_size
2097152 131072
...
...
@@ -376,8 +376,8 @@ select @@key_buffer_size;
select @@key_cache_block_size;
@@key_cache_block_size
1024
select @@key_cache_
partition
s;
@@key_cache_
partition
s
select @@key_cache_
segment
s;
@@key_cache_
segment
s
0
create table t1 (
p int not null auto_increment primary key,
...
...
@@ -385,11 +385,11 @@ a char(10));
create table t2 (
p int not null auto_increment primary key,
i int, a char(10), key k1(i), key k2(a));
select @@key_cache_
partition
s;
@@key_cache_
partition
s
select @@key_cache_
segment
s;
@@key_cache_
segment
s
0
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default NULL NULL 2097152 1024 0 # 0 0 0 0 0
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
...
...
@@ -416,27 +416,27 @@ Key_read_requests 22
Key_reads 0
Key_write_requests 26
Key_writes 6
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default NULL NULL 2097152 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
delete from t2 where a='zzzz';
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default NULL NULL 2097152 1024 4 # 0 29 0 32 9
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
delete from t1;
delete from t2;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default NULL NULL 2097152 1024 4 # 0 29 0 32 9
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
set global key_cache_
partition
s=2;
select @@key_cache_
partition
s;
@@key_cache_
partition
s
set global key_cache_
segment
s=2;
select @@key_cache_
segment
s;
@@key_cache_
segment
s
2
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 2097152 1024 0 # 0 0 0 0 0
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
...
...
@@ -463,22 +463,22 @@ Key_read_requests 22
Key_reads 0
Key_write_requests 26
Key_writes 6
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 2097152 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
delete from t1;
delete from t2;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 2097152 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
set global key_cache_
partition
s=1;
select @@key_cache_
partition
s;
@@key_cache_
partition
s
set global key_cache_
segment
s=1;
select @@key_cache_
segment
s;
@@key_cache_
segment
s
1
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 1 NULL 2097152 1024 0 # 0 0 0 0 0
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
...
...
@@ -505,32 +505,32 @@ Key_read_requests 22
Key_reads 0
Key_write_requests 26
Key_writes 6
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 1 NULL 2097152 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
delete from t1;
delete from t2;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 1 NULL 2097152 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
flush tables;
flush status;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 1 NULL 2097152 1024 4 # 0 0 0 0 0
small NULL NULL 1048576 1024 1 # 0 0 0 0 0
set global key_buffer_size=32*1024;
select @@key_buffer_size;
@@key_buffer_size
32768
set global key_cache_
partition
s=2;
select @@key_cache_
partition
s;
@@key_cache_
partition
s
set global key_cache_
segment
s=2;
select @@key_cache_
segment
s;
@@key_cache_
segment
s
2
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 0 # 0 0 0 0 0
small NULL NULL 1048576 1024 1 # 0 0 0 0 0
insert into t1 values (1, 'qqqq'), (2, 'yyyy');
...
...
@@ -548,8 +548,8 @@ p i a
4 3 zzzz
update t1 set p=3 where p=1;
update t2 set i=2 where i=1;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 4 # 0 22 0 26 6
small NULL NULL 1048576 1024 1 # 0 0 0 0 0
insert into t1(a) select a from t1;
...
...
@@ -568,8 +568,8 @@ insert into t2(i,a) select i,a from t2;
insert into t2(i,a) select i,a from t2;
insert into t2(i,a) select i,a from t2;
insert into t2(i,a) select i,a from t2;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 6733 # 3684 103
small NULL NULL 1048576 1024 # # 0 0 # 0 0
select * from t1 where p between 1010 and 1020 ;
...
...
@@ -587,34 +587,34 @@ p i a
1018 2 pppp
1019 2 yyyy
1020 3 zzzz
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 6750 # 3684 103
small NULL NULL 1048576 1024 # # 0 0 # 0 0
flush tables;
flush status;
update t1 set a='zzzz' where a='qqqq';
update t2 set i=1 where i=2;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3076 18 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
set global keycache1.key_buffer_size=256*1024;
select @@keycache1.key_buffer_size;
@@keycache1.key_buffer_size
262144
set global keycache1.key_cache_
partition
s=7;
select @@keycache1.key_cache_
partition
s;
@@keycache1.key_cache_
partition
s
set global keycache1.key_cache_
segment
s=7;
select @@keycache1.key_cache_
segment
s;
@@keycache1.key_cache_
segment
s
7
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3076 18 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 7 NULL 262143 2048 # # 0 0 0 0 0
select * from information_schema.key_caches where key_cache_name like "key%"
and
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
and
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
keycache1 7 NULL 262143 2048 0 # 0 0 0 0 0
cache index t1 key (`primary`) in keycache1;
Table Op Msg_type Msg_text
...
...
@@ -647,22 +647,22 @@ id select_type table type possible_keys key key_len ref rows Extra
select count(*) from t1, t2 where t1.p = t2.i;
count(*)
256
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 7 NULL 262143 2048 # # 0 14 3 0 0
select * from information_schema.key_caches where key_cache_name like "key%"
and
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
and
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
keycache1 7 NULL 262143 2048 3 # 0 14 3 0 0
cache index t2 in keycache1;
Table Op Msg_type Msg_text
test.t2 assign_to_keycache status OK
update t2 set p=p+3000, i=2 where a='qqqq';
select * from information_schema.key_caches where key_cache_name like "key%"
and
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
and
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
keycache1 7 NULL 262143 2048 25 # 0 2082 25 1071 19
set global keycache2.key_buffer_size=1024*1024;
cache index t2 in keycache2;
...
...
@@ -670,12 +670,12 @@ Table Op Msg_type Msg_text
test.t2 assign_to_keycache status OK
insert into t2 values (2000, 3, 'yyyy');
select * from information_schema.key_caches where key_cache_name like "keycache2"
and
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
and
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
keycache2 NULL NULL 1048576 1024 6 # 0 6 6 3 3
select * from information_schema.key_caches where key_cache_name like "key%"
and
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
and
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
keycache1 7 NULL 262143 2048 25 # 0 2082 25 1071 19
keycache2 NULL NULL 1048576 1024 6 # 0 6 6 3 3
cache index t2 in keycache1;
...
...
@@ -713,81 +713,81 @@ id select_type table type possible_keys key key_len ref rows Extra
select a from t2 where a='yyyy' and i=3 ;
a
yyyy
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 7 NULL 262143 2048 # # 0 3201 43 1594 30
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=2*1024;
insert into t2 values (7000, 3, 'yyyy');
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 7 NULL 262143 2048 # # 0 6 6 3 3
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=8*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 3 NULL 262143 8192 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
insert into t2 values (8000, 3, 'yyyy');
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 3 NULL 262143 8192 # # 0 6 5 3 3
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_buffer_size=64*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=2*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 3 NULL 65535 2048 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=8*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_buffer_size=0;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=8*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_buffer_size=0;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_buffer_size=128*1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 1 NULL 131072 8192 # # 0 0 0 0 0
keycache2 NULL NULL 1048576 1024 # # 0 6 6 3 3
set global keycache1.key_cache_block_size=1024;
select * from information_schema.key_caches where
partition
_number is null;
KEY_CACHE_NAME
PARTITIONS PARTITION
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
select * from information_schema.key_caches where
segment
_number is null;
KEY_CACHE_NAME
SEGMENTS SEGMENT
_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
default 2 NULL 32768 1024 # # 0 3172 24 1552 18
small NULL NULL 1048576 1024 # # 0 0 0 0 0
keycache1 7 NULL 131068 1024 # # 0 0 0 0 0
...
...
@@ -796,4 +796,4 @@ drop table t1,t2;
set global keycache1.key_buffer_size=0;
set global keycache2.key_buffer_size=0;
set global key_buffer_size=@save_key_buffer_size;
set global key_cache_
partitions=@save_key_cache_partition
s;
set global key_cache_
segments=@save_key_cache_segment
s;
mysql-test/suite/funcs_1/r/is_columns_is.result
View file @
e44633c8
...
...
@@ -234,10 +234,10 @@ NULL information_schema KEY_CACHES BLOCK_SIZE 5 0 NO bigint NULL NULL 19 0 NULL
NULL information_schema KEY_CACHES DIRTY_BLOCKS 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES FULL_SIZE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES KEY_CACHE_NAME 1 NO varchar 192 576 NULL NULL utf8 utf8_general_ci varchar(192) select
NULL information_schema KEY_CACHES PARTITIONS 2 NULL YES int NULL NULL 10 0 NULL NULL int(3) unsigned select
NULL information_schema KEY_CACHES PARTITION_NUMBER 3 NULL YES int NULL NULL 10 0 NULL NULL int(3) unsigned select
NULL information_schema KEY_CACHES READS 10 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES READ_REQUESTS 9 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES SEGMENTS 2 NULL YES int NULL NULL 10 0 NULL NULL int(3) unsigned select
NULL information_schema KEY_CACHES SEGMENT_NUMBER 3 NULL YES int NULL NULL 10 0 NULL NULL int(3) unsigned select
NULL information_schema KEY_CACHES UNUSED_BLOCKS 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES USED_BLOCKS 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
NULL information_schema KEY_CACHES WRITES 12 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
...
...
@@ -756,8 +756,8 @@ NULL information_schema INNODB_TRX trx_weight bigint NULL NULL NULL NULL bigint(
NULL information_schema INNODB_TRX trx_mysql_thread_id bigint NULL NULL NULL NULL bigint(21) unsigned
3.0000 information_schema INNODB_TRX trx_query varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema KEY_CACHES KEY_CACHE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
NULL information_schema KEY_CACHES
PARTITION
S int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES
PARTITION
_NUMBER int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES
SEGMENT
S int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES
SEGMENT
_NUMBER int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES FULL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES BLOCK_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES USED_BLOCKS bigint NULL NULL NULL NULL bigint(21) unsigned
...
...
mysql-test/t/key_cache.test
View file @
e44633c8
#
# Test of multiple key caches, simple an
partition
ed
# Test of multiple key caches, simple an
d segment
ed
#
--
disable_warnings
drop
table
if
exists
t1
,
t2
,
t3
;
...
...
@@ -7,7 +7,7 @@ drop table if exists t1, t2, t3;
SET
@
save_key_buffer_size
=@@
key_buffer_size
;
SET
@
save_key_cache_block_size
=@@
key_cache_block_size
;
SET
@
save_key_cache_
partitions
=@@
key_cache_partition
s
;
SET
@
save_key_cache_
segments
=@@
key_cache_segment
s
;
SELECT
@@
key_buffer_size
,
@@
small
.
key_buffer_size
;
...
...
@@ -250,8 +250,10 @@ DROP TABLE t1;
# End of 4.1 tests
# End of 5.1 tests
#
# Test cases for
partition
ed key caches
# Test cases for
segment
ed key caches
#
# Test usage of the KEY_CACHE table from information schema
...
...
@@ -261,7 +263,7 @@ set global key_buffer_size=@save_key_buffer_size;
set
global
key_cache_block_size
=@
save_key_cache_block_size
;
select
@@
key_buffer_size
;
select
@@
key_cache_block_size
;
select
@@
key_cache_
partition
s
;
select
@@
key_cache_
segment
s
;
create
table
t1
(
p
int
not
null
auto_increment
primary
key
,
...
...
@@ -270,9 +272,9 @@ create table t2 (
p
int
not
null
auto_increment
primary
key
,
i
int
,
a
char
(
10
),
key
k1
(
i
),
key
k2
(
a
));
select
@@
key_cache_
partition
s
;
select
@@
key_cache_
segment
s
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
insert
into
t1
values
(
1
,
'qqqq'
),
(
2
,
'yyyy'
);
insert
into
t2
values
(
1
,
1
,
'qqqq'
),
(
2
,
1
,
'pppp'
),
...
...
@@ -285,26 +287,26 @@ update t2 set i=2 where i=1;
--
replace_result
1808
KEY_BLOCKS_UNUSED
1670
KEY_BLOCKS_UNUSED
1789
KEY_BLOCKS_UNUSED
show
status
like
'key_%'
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
delete
from
t2
where
a
=
'zzzz'
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
delete
from
t1
;
delete
from
t2
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
# For the key cache with 2
partition
s execute the same sequence of
# For the key cache with 2
segment
s execute the same sequence of
# statements as for the simple cache above.
# The statistical information on the number of i/o requests and
# the number of is expected to be the same.
set
global
key_cache_
partition
s
=
2
;
select
@@
key_cache_
partition
s
;
set
global
key_cache_
segment
s
=
2
;
select
@@
key_cache_
segment
s
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
insert
into
t1
values
(
1
,
'qqqq'
),
(
2
,
'yyyy'
);
insert
into
t2
values
(
1
,
1
,
'qqqq'
),
(
2
,
1
,
'pppp'
),
...
...
@@ -317,19 +319,19 @@ update t2 set i=2 where i=1;
--
replace_result
1808
KEY_BLOCKS_UNUSED
1670
KEY_BLOCKS_UNUSED
1788
KEY_BLOCKS_UNUSED
show
status
like
'key_%'
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
delete
from
t1
;
delete
from
t2
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
# Check that we can work with one
partition
with the same results
# Check that we can work with one
segment
with the same results
set
global
key_cache_
partition
s
=
1
;
select
@@
key_cache_
partition
s
;
set
global
key_cache_
segment
s
=
1
;
select
@@
key_cache_
segment
s
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
insert
into
t1
values
(
1
,
'qqqq'
),
(
2
,
'yyyy'
);
insert
into
t2
values
(
1
,
1
,
'qqqq'
),
(
2
,
1
,
'pppp'
),
...
...
@@ -342,25 +344,25 @@ update t2 set i=2 where i=1;
--
replace_result
1808
KEY_BLOCKS_UNUSED
1670
KEY_BLOCKS_UNUSED
1789
KEY_BLOCKS_UNUSED
show
status
like
'key_%'
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
delete
from
t1
;
delete
from
t2
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
flush
tables
;
flush
status
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
# Switch back to 2
partition
s
# Switch back to 2
segment
s
set
global
key_buffer_size
=
32
*
1024
;
select
@@
key_buffer_size
;
set
global
key_cache_
partition
s
=
2
;
select
@@
key_cache_
partition
s
;
set
global
key_cache_
segment
s
=
2
;
select
@@
key_cache_
segment
s
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
insert
into
t1
values
(
1
,
'qqqq'
),
(
2
,
'yyyy'
);
insert
into
t2
values
(
1
,
1
,
'qqqq'
),
(
2
,
1
,
'pppp'
),
...
...
@@ -371,7 +373,7 @@ update t1 set p=3 where p=1;
update
t2
set
i
=
2
where
i
=
1
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
# Add more rows to tables t1 and t2
...
...
@@ -394,31 +396,31 @@ insert into t2(i,a) select i,a from t2;
insert
into
t2
(
i
,
a
)
select
i
,
a
from
t2
;
--
replace_column
6
# 7 # 10 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
select
*
from
t1
where
p
between
1010
and
1020
;
select
*
from
t2
where
p
between
1010
and
1020
;
--
replace_column
6
# 7 # 10 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
flush
tables
;
flush
status
;
update
t1
set
a
=
'zzzz'
where
a
=
'qqqq'
;
update
t2
set
i
=
1
where
i
=
2
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
# Now test how we can work with 7
partition
s
# Now test how we can work with 7
segment
s
set
global
keycache1
.
key_buffer_size
=
256
*
1024
;
select
@@
keycache1
.
key_buffer_size
;
set
global
keycache1
.
key_cache_
partition
s
=
7
;
select
@@
keycache1
.
key_cache_
partition
s
;
set
global
keycache1
.
key_cache_
segment
s
=
7
;
select
@@
keycache1
.
key_cache_
segment
s
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
key_cache_name
like
"key%"
and
partition
_number
is
null
;
and
segment
_number
is
null
;
cache
index
t1
key
(
`primary`
)
in
keycache1
;
...
...
@@ -430,26 +432,26 @@ explain select count(*) from t1, t2 where t1.p = t2.i;
select
count
(
*
)
from
t1
,
t2
where
t1
.
p
=
t2
.
i
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
key_cache_name
like
"key%"
and
partition
_number
is
null
;
and
segment
_number
is
null
;
cache
index
t2
in
keycache1
;
update
t2
set
p
=
p
+
3000
,
i
=
2
where
a
=
'qqqq'
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
key_cache_name
like
"key%"
and
partition
_number
is
null
;
and
segment
_number
is
null
;
set
global
keycache2
.
key_buffer_size
=
1024
*
1024
;
cache
index
t2
in
keycache2
;
insert
into
t2
values
(
2000
,
3
,
'yyyy'
);
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
key_cache_name
like
"keycache2"
and
partition
_number
is
null
;
and
segment
_number
is
null
;
--
replace_column
7
#
select
*
from
information_schema
.
key_caches
where
key_cache_name
like
"key%"
and
partition
_number
is
null
;
and
segment
_number
is
null
;
cache
index
t2
in
keycache1
;
update
t2
set
p
=
p
+
5000
where
a
=
'zzzz'
;
...
...
@@ -461,51 +463,51 @@ select i from t2 where a='yyyy' and i=3;
explain
select
a
from
t2
where
a
=
'yyyy'
and
i
=
3
;
select
a
from
t2
where
a
=
'yyyy'
and
i
=
3
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
2
*
1024
;
insert
into
t2
values
(
7000
,
3
,
'yyyy'
);
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
8
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
insert
into
t2
values
(
8000
,
3
,
'yyyy'
);
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_buffer_size
=
64
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
2
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
8
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_buffer_size
=
0
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
8
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_buffer_size
=
0
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_buffer_size
=
128
*
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
set
global
keycache1
.
key_cache_block_size
=
1024
;
--
replace_column
6
# 7 #
select
*
from
information_schema
.
key_caches
where
partition
_number
is
null
;
select
*
from
information_schema
.
key_caches
where
segment
_number
is
null
;
drop
table
t1
,
t2
;
...
...
@@ -513,6 +515,6 @@ set global keycache1.key_buffer_size=0;
set
global
keycache2
.
key_buffer_size
=
0
;
set
global
key_buffer_size
=@
save_key_buffer_size
;
set
global
key_cache_
partitions
=@
save_key_cache_partition
s
;
set
global
key_cache_
segments
=@
save_key_cache_segment
s
;
#
End of 5.1
tests
#
End of 5.2
tests
mysql-test/t/select_pkeycache-master.opt
View file @
e44633c8
--key_cache_
partition
s=7
--key_cache_
segment
s=7
mysql-test/t/select_pkeycache.test
View file @
e44633c8
#
# Run select.test
partitioned default key cache (with 7 partition
s)
# (see setting the number of
partition
s in select_pkecache-master.opt)
# Run select.test
with the segmented default key cache (with 7 segment
s)
# (see setting the number of
segment
s in select_pkecache-master.opt)
# The result is expected the same as for select.test
#
...
...
sql/mysqld.cc
View file @
e44633c8
...
...
@@ -6939,13 +6939,13 @@ log and this option does nothing anymore.",
0
,
(
GET_ULONG
|
GET_ASK_ADDR
),
REQUIRED_ARG
,
KEY_CACHE_BLOCK_SIZE
,
512
,
1024
*
16
,
0
,
512
,
0
},
{
"key_cache_division_limit"
,
OPT_KEY_CACHE_DIVISION_LIMIT
,
"The minimum percentage of warm blocks in key cache"
,
"The minimum percentage of warm blocks in
a
key cache"
,
(
uchar
**
)
&
dflt_key_cache_var
.
param_division_limit
,
(
uchar
**
)
0
,
0
,
(
GET_ULONG
|
GET_ASK_ADDR
)
,
REQUIRED_ARG
,
100
,
1
,
100
,
0
,
1
,
0
},
{
"key_cache_
partition
s"
,
OPT_KEY_CACHE_PARTITIONS
,
"The number of
partitions in
key cache"
,
{
"key_cache_
segment
s"
,
OPT_KEY_CACHE_PARTITIONS
,
"The number of
segments in a
key cache"
,
(
uchar
**
)
&
dflt_key_cache_var
.
param_partitions
,
(
uchar
**
)
0
,
0
,
(
GET_ULONG
|
GET_ASK_ADDR
),
REQUIRED_ARG
,
DEFAULT_KEY_CACHE_PARTITIONS
,
...
...
sql/set_var.cc
View file @
e44633c8
...
...
@@ -330,7 +330,7 @@ static sys_var_key_cache_long sys_key_cache_age_threshold(&vars,
"key_cache_age_threshold"
,
offsetof
(
KEY_CACHE
,
param_age_threshold
));
static
sys_var_key_cache_long
sys_key_cache_partitions
(
&
vars
,
"key_cache_
partition
s"
,
"key_cache_
segment
s"
,
offsetof
(
KEY_CACHE
,
param_partitions
));
static
sys_var_const
sys_language
(
&
vars
,
"language"
,
OPT_GLOBAL
,
SHOW_CHAR
,
...
...
sql/sql_show.cc
View file @
e44633c8
...
...
@@ -7366,9 +7366,9 @@ ST_FIELD_INFO referential_constraints_fields_info[]=
ST_FIELD_INFO
keycache_fields_info
[]
=
{
{
"KEY_CACHE_NAME"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
,
SKIP_OPEN_TABLE
},
{
"
PARTITION
S"
,
3
,
MYSQL_TYPE_LONG
,
0
,
{
"
SEGMENT
S"
,
3
,
MYSQL_TYPE_LONG
,
0
,
(
MY_I_S_MAYBE_NULL
|
MY_I_S_UNSIGNED
)
,
0
,
SKIP_OPEN_TABLE
},
{
"
PARTITION
_NUMBER"
,
3
,
MYSQL_TYPE_LONG
,
0
,
{
"
SEGMENT
_NUMBER"
,
3
,
MYSQL_TYPE_LONG
,
0
,
(
MY_I_S_MAYBE_NULL
|
MY_I_S_UNSIGNED
),
0
,
SKIP_OPEN_TABLE
},
{
"FULL_SIZE"
,
MY_INT64_NUM_DECIMAL_DIGITS
,
MYSQL_TYPE_LONGLONG
,
0
,
(
MY_I_S_UNSIGNED
),
0
,
SKIP_OPEN_TABLE
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment