mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge with 5.5
This commit is contained in:
@ -0,0 +1,130 @@
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
|
||||
SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
|
||||
CREATE TABLE infoschema_buffer_test (col1 INT) ENGINE = INNODB;
|
||||
INSERT INTO infoschema_buffer_test VALUES(9);
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and PAGE_TYPE="index";
|
||||
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
|
||||
test/infoschema_buffer_test GEN_CLUST_INDEX 1 29 FILE_PAGE INDEX
|
||||
INSERT INTO infoschema_buffer_test VALUES(19);
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and PAGE_TYPE="index";
|
||||
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
|
||||
test/infoschema_buffer_test GEN_CLUST_INDEX 2 58 FILE_PAGE INDEX
|
||||
CREATE INDEX idx ON infoschema_buffer_test(col1);
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
|
||||
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
|
||||
test/infoschema_buffer_test idx 2 32 FILE_PAGE INDEX
|
||||
DROP TABLE infoschema_buffer_test;
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test";
|
||||
TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
|
||||
CREATE TABLE infoschema_parent (id INT NOT NULL, PRIMARY KEY (id))
|
||||
ENGINE=INNODB;
|
||||
CREATE TABLE infoschema_child (id INT, parent_id INT, INDEX par_ind (parent_id),
|
||||
FOREIGN KEY (parent_id)
|
||||
REFERENCES infoschema_parent(id)
|
||||
ON DELETE CASCADE)
|
||||
ENGINE=INNODB;
|
||||
SELECT count(*)
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
|
||||
and PAGE_TYPE="index";
|
||||
count(*)
|
||||
2
|
||||
DROP TABLE infoschema_child;
|
||||
DROP TABLE infoschema_parent;
|
||||
show create table information_schema.innodb_buffer_page;
|
||||
Table Create Table
|
||||
INNODB_BUFFER_PAGE CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE` (
|
||||
`POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`BLOCK_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGE_TYPE` varchar(64) DEFAULT NULL,
|
||||
`FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`IS_HASHED` varchar(3) DEFAULT NULL,
|
||||
`NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`TABLE_NAME` varchar(1024) DEFAULT NULL,
|
||||
`INDEX_NAME` varchar(1024) DEFAULT NULL,
|
||||
`NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGE_STATE` varchar(64) DEFAULT NULL,
|
||||
`IO_FIX` varchar(64) DEFAULT NULL,
|
||||
`IS_OLD` varchar(3) DEFAULT NULL,
|
||||
`FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
|
||||
) ENGINE=MEMORY DEFAULT CHARSET=utf8
|
||||
show create table information_schema.innodb_buffer_page_lru;
|
||||
Table Create Table
|
||||
INNODB_BUFFER_PAGE_LRU CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE_LRU` (
|
||||
`POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`LRU_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGE_TYPE` varchar(64) DEFAULT NULL,
|
||||
`FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`IS_HASHED` varchar(3) DEFAULT NULL,
|
||||
`NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`TABLE_NAME` varchar(1024) DEFAULT NULL,
|
||||
`INDEX_NAME` varchar(1024) DEFAULT NULL,
|
||||
`NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`COMPRESSED` varchar(3) DEFAULT NULL,
|
||||
`IO_FIX` varchar(64) DEFAULT NULL,
|
||||
`IS_OLD` varchar(3) DEFAULT NULL,
|
||||
`FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
|
||||
) ENGINE=MEMORY DEFAULT CHARSET=utf8
|
||||
show create table information_schema.innodb_buffer_pool_stats;
|
||||
Table Create Table
|
||||
INNODB_BUFFER_POOL_STATS CREATE TEMPORARY TABLE `INNODB_BUFFER_POOL_STATS` (
|
||||
`POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`POOL_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`FREE_BUFFERS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`OLD_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`MODIFIED_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PENDING_DECOMPRESS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PENDING_READS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PENDING_FLUSH_LRU` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PENDING_FLUSH_LIST` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGES_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGES_NOT_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGES_MADE_YOUNG_RATE` double NOT NULL DEFAULT '0',
|
||||
`PAGES_MADE_NOT_YOUNG_RATE` double NOT NULL DEFAULT '0',
|
||||
`NUMBER_PAGES_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`NUMBER_PAGES_CREATED` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`NUMBER_PAGES_WRITTEN` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`PAGES_READ_RATE` double NOT NULL DEFAULT '0',
|
||||
`PAGES_CREATE_RATE` double NOT NULL DEFAULT '0',
|
||||
`PAGES_WRITTEN_RATE` double NOT NULL DEFAULT '0',
|
||||
`NUMBER_PAGES_GET` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`HIT_RATE` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`NOT_YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`NUMBER_PAGES_READ_AHEAD` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`NUMBER_READ_AHEAD_EVICTED` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`READ_AHEAD_RATE` double NOT NULL DEFAULT '0',
|
||||
`READ_AHEAD_EVICTED_RATE` double NOT NULL DEFAULT '0',
|
||||
`LRU_IO_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`LRU_IO_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`UNCOMPRESS_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
|
||||
`UNCOMPRESS_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0'
|
||||
) ENGINE=MEMORY DEFAULT CHARSET=utf8
|
@ -1,11 +1,6 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
if (`select plugin_auth_version <= "1.0.17-13.01" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in XtraDB 1.0.17-13.01 or earlier
|
||||
}
|
||||
|
||||
create table t1 (
|
||||
rowid int,
|
||||
f1 int,
|
||||
|
@ -0,0 +1,3 @@
|
||||
--loose-innodb-buffer-pool-stats
|
||||
--loose-innodb-buffer-page
|
||||
--loose-innodb-buffer-page-lru
|
@ -0,0 +1,81 @@
|
||||
# Exercise the code path for INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS
|
||||
# and INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
if (`select plugin_auth_version <= "1.1.8-29.0" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in XtraDB 1.1.8-29.0 or earlier
|
||||
}
|
||||
|
||||
-- disable_result_log
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
|
||||
|
||||
# How many buffer pools we have
|
||||
SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
|
||||
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
|
||||
|
||||
# This gives the over all buffer pool size
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
|
||||
|
||||
-- enable_result_log
|
||||
|
||||
# Create a table and check its page info behave correctly in the pool
|
||||
CREATE TABLE infoschema_buffer_test (col1 INT) ENGINE = INNODB;
|
||||
|
||||
INSERT INTO infoschema_buffer_test VALUES(9);
|
||||
|
||||
# We should be able to see this table in the buffer pool if we check
|
||||
# right away
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and PAGE_TYPE="index";
|
||||
|
||||
# The NUMBER_RECORDS and DATA_SIZE should check with each insertion
|
||||
INSERT INTO infoschema_buffer_test VALUES(19);
|
||||
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and PAGE_TYPE="index";
|
||||
|
||||
CREATE INDEX idx ON infoschema_buffer_test(col1);
|
||||
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test"
|
||||
and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
|
||||
|
||||
|
||||
# Check the buffer after dropping the table
|
||||
DROP TABLE infoschema_buffer_test;
|
||||
|
||||
SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_buffer_test";
|
||||
|
||||
# Do one more test
|
||||
#--replace_regex /'*[0-9]*'/'NUM'/
|
||||
CREATE TABLE infoschema_parent (id INT NOT NULL, PRIMARY KEY (id))
|
||||
ENGINE=INNODB;
|
||||
|
||||
CREATE TABLE infoschema_child (id INT, parent_id INT, INDEX par_ind (parent_id),
|
||||
FOREIGN KEY (parent_id)
|
||||
REFERENCES infoschema_parent(id)
|
||||
ON DELETE CASCADE)
|
||||
ENGINE=INNODB;
|
||||
|
||||
SELECT count(*)
|
||||
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
|
||||
and PAGE_TYPE="index";
|
||||
|
||||
DROP TABLE infoschema_child;
|
||||
DROP TABLE infoschema_parent;
|
||||
|
||||
show create table information_schema.innodb_buffer_page;
|
||||
show create table information_schema.innodb_buffer_page_lru;
|
||||
show create table information_schema.innodb_buffer_pool_stats;
|
||||
|
Reference in New Issue
Block a user