摘要: 主要是学习:http://blog.csdn.net/intrepyd/article/details/4508770中的记录,并加上 对《深入Linux系统内核 》的学习精简版 1. 系统限制 目的: 为了保证系统的兼容性以及可以执行 主要分为编译时系统限制和运行时系统限制,整的跟C++多态一样 编译时系统限制可以在头文件中定义,例如<limit.h>中对于最大最小值的限制,运行时限制要求进程调用一个函数实现,主要分为sysconf 函数查询与目录和文件不相关的运行时限制,pathconf和fpathconf与文件和目录相关的运行时限制 实际上,编译时限制也可以通过函数进行查询( 阅读全文
posted @ 2011-09-13 22:30 wtx 阅读(304) 评论(0) 推荐(0) 编辑
摘要: innodb中有两种索引,B+树索引和哈希索引,其中hash索引是自适应性的,存储引擎会根据表的使用情况自动创建哈希索引,不能人为的干涉1. 聚集索引聚集索引,innodb存储引擎表是索引组织表,即表中的数据是按照主键顺序存放,而聚集索引是按照每张表的主键构造出一颗B+树,并且叶子节点存放的是整张表的行记录数据,因此,叶子节点是数据节点,并且因为B+树的特点,数据节点通过一个双向的链表连接起来,使得查找更加快速,由于实际的数据页只能按照一颗B+树来存放,所以,一张表只能拥有一个聚集索引,在多数情况下,查询优化器倾向于采用聚集索引。实验先创建一张表 t ,这里以人为的方式让其每个页只能存放两行数 阅读全文
posted @ 2011-09-13 17:41 wtx 阅读(4509) 评论(0) 推荐(0) 编辑
摘要: 1. mysql数据库和其存储引擎innodb的各种类型文件有: 参数文件,日志文件,socket文件,pid文件,mysql表结构文件,存储引擎文件2. 参数文件 mysql实例启动的时候,会先到配置文件去读一些参数,用来寻找数据库的各种文件所在的位置,以及制定某些初始化参数,这些参数通常是定义内存结构多大等设置信息可以将参数看成是一个个的键值对,可以通过show variables 查看所有的参数,或者通过like过滤参数名。 mysql中参数可以分为两类:动态参数和静态参数,动态参数在mysql实例运行中进行设置,而静态参数说明在整个mysql 实例生命周期中都是不用也不能进行修改的,. 阅读全文
posted @ 2011-09-13 12:41 wtx 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 1. 事务也是数据库系统区别于文件系统的重要特性之一,在文件系统中,如果正在写文件,突然OS崩溃了,这是这个文件很有可能被破坏了(也有新的文件系统保证恢复,不被破坏)。 事务的目的:将数据库从一个状态转移到另外一个状态。事务用来保证数据库的完整性2. 事务的4个特性: 原子,一致,隔离,持久3. 事务的实现 原子,一致,持久都是通过数据库的redo和undo实现的4. redo,在innodb中,事务通过重做日志文件和innodb存储引擎的日志缓存来实现,当开始一个事务时,会记录这个事务的LSN(log sequence number,日志序列号),当事务执行时,会往innodb存储引擎的日志 阅读全文
posted @ 2011-09-13 00:05 wtx 阅读(225) 评论(0) 推荐(0) 编辑