一.背景 1.1文件组织架构 首先看一下mysql数据系统涉及到的文件组织架构,如下图所示: msyql文件组织架构图 从图看出: 1.日志文件:slow.log(慢日志),error.log(错误日志),general.log(基本日志) 2.配置文件:my.cnf 3.数据库:performance_schema,mysql,information_schema,sys 4.innodb存储引擎(框中部分),主要包括有:两个日志文件ib_logfile0和ib_logfile1,由参数inn…
http://www.jb51.net/softjc/158474.html   这篇文章主要介绍了mysql的innodb数据库引擎,需要的朋友可以参考下   一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据库后台进程/线程以及一个共享内存区组成.数据库实例才是真正用来操作数据库文件的. mysql数据库是单进程多线程的程序,与sql serv…
在MySQL数据库中,有一种blob数据类型,用来存储文件.C#编程语言操作MySQL数据库需要使用MySQL官方组件MySQL.Data.dll. Mysql.Data.dll(6.9.6)组件下载地址:http://download.csdn.net/detail/keypig_zz/9262767. 现在说一说如何实现blob类型数据的操作. 新建winform程序,添加两个按钮.代码如下: System.IO.MemoryStream ms = new System.IO.MemoryS…
Mysql数据库报错: ERROR 1813 (HY000): Tablespace '`coll`.`t1`' exists. 原因:在使用InnoDB引擎的数据库中,所有已经存在的表都使在使用InnoDB引擎的数据库中,所有已经存在的表都使用两个文件保存,假设表名为 t1,则在数据库的数据目录下会有两个文件, (1).frm 文件 数据表定义信息 (2).ibd 文件 数据表内容 处理方法: 在 MySql 5.6之前,这些文件都是可以公用的,如果.frm 文件丢失,则会报这个错,使用一个临…
desc命令用于获取数据表结构. desc命令格式:    desc 表名;同样    show columns from 表名;也能获取数据表结构. 举例如下:mysql> desc MyClass;mysql> show columns from MyClass; 使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即 ' ','PRI','UNI','MUL'. 如果Key是空的,那么该列值的可以重复,表示该列没有索引,或者是一个非唯一的复合索引的非前导列: 如果…
上一篇博客回顾: 1:数据库拥有众多的储存引擎,现在主要使用的是Inoodb,这个储存引擎有Compact,Redundant,Dynamic,Compressed四种行格式 2:Compact行格式的结构分为变长数据长度列表,NULL值列表,记录头信息,真是数据储存 3:变长数据长度列表储存的是变长数据类型数据的字节数逆顺序,空值列不储存,NULL值列表储存非主键和没有被NOT  NULL 修饰的列,二进制位逆顺序进行储存. 4:记录头信息包括了偏移量,槽数量,本组数据量,是否被删除,数据类型…
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 1. 二进制层次的可移植性. 2. NULL列索引. 3. 对变长行比ISAM表有更少的碎片. 4. 支持大文件. 5. 更好的索引压缩…
#include <iostream> #include <string> #include <string.h> #include <mysql.h> int main() { // 初始化MYSQL 实例 MYSQL *ms_conn = mysql_init(NULL); if (ms_conn == NULL) { std::cout << "mysql init failed." << std::endl…
要求插入的数据有一定的规律 新建实例列表 CREATE TABLE users ( userId ) NOT NULL, userName ) NOT NULL, Serves ) NOT NULL, PRIMARY KEY (userId) ); 创建存储过程 例如:随机写入5000条数据 begin ; start transaction; do ); ; end while; commit; end 设置随机函数取前几条 select * from users order by rand(…
B-树性质 B-树可以看作是对2-3查找树的一种扩展,即他允许每个节点有M-1个子节点. 1根节点至少有两个子节点 2每个节点有M-1个key,并且以升序排列 3位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间 其它节点至少有M/2个子节点 下图是一个M=3 阶的B树 这里简单说明下 图中的小黑方块表示对应关键字所代表的文件的存储位置,实际上可以看做是一个地址,比如根节点中17旁边的小黑块表示的就是关键字17所对应的文件在硬盘中的存储地址. P是指针, 需要注意的是…