innodb表空间

select * from threads limit 1\Gmysql performance_schema

show processlist;

gdb -ex "set paginmation 0" -ex "thread apply all bt" --batch -p $1(进程id)

打印所有线程的进程id(上面的命令打印$pid进程所有线程的堆栈并退出。)

iotop -u mysql

apt-get install gdb

select type,name,thread

线程对应的进程

5.6 show index from 语句是错误的

innodb_index_stats

innodb_table_stats

show engines;

5.5版本默认引擎是innodb

fully ACID

行锁

表空间是逻辑概念ibdata1(共享表空间,默认所有数据都在)

表空间文件

独立表空间(innodb_file_per_table=on 独立表空间)

系统表空间 (最开始只有一个系统表空间change buffer undo 索引信息元数据信息)

undo表空间(from 5.6)

5.7增加一个临时表空间ibtmp1(临时表)

重做日志文件

物理逻辑日志

没有oracle归档重做日志

innodb支不支持裸设备

写入绕过操作系统的缓存 ordirate

mysqlfrm --diagnostic z.frm

.ibd存放数据和索引

清缓存

sysbench

echo 3 > /proc/sys/vm/drop_caches

prepare单线程顺序一个一个写文件 iops并不高

file-rw-ratio读写比例

ibdata1里的表删完空间释放不了

共享表空间和独立表空间性能没什么区别

innodb的ibd文件直接拷过去不能恢复 myisam的可以

innodb有一份索引存在change buffer 存放在共享表空间

如果想把某些表放到存储介质差的盘上呢

create table abc(a int)data directory='/test'

5.6开始支持general表空间(不是系统表空间)

create tablespace ts10 add datafile '/test/ts10.ibd' file_block_size=8192;

select space,name,space_type from innodb_sys_tablespaces;

create table tttt()tablespace=ts10;

create table ooo()tablespace=ts10;一个表空间可以有多个表

默认表空间autoextend 自动扩展

file_block_size就是innodb_page_size

表空间和myisam的关系

用了create tablespace 备份工具能支持吗

单表最大64T?

单个实例的表数量没有限制

猜你喜欢

转载自www.cnblogs.com/lvjinping/p/9177981.html
今日推荐