为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆。网上搜索了一下,得到高人指点my.ini。再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的^-^更改后如下: innodb_buffer_pool_size=576M ->...
分类:
数据库 时间:
2014-12-02 19:05:40
阅读次数:
226
主要介绍InnoDB存储引擎表的逻辑存储以及实现。重点介绍数据在表中是如何组织和存放的。
1.索引组织表(index organized table)
在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表叫索引组织表。在InnoDB存在引擎表中,每张表都有个主键(Primary key),如果在创建表时没有显示定义主键,则会按照如下方式选择或者创建主键:a.判定...
分类:
数据库 时间:
2014-12-01 17:46:08
阅读次数:
247
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特...
分类:
数据库 时间:
2014-12-01 15:54:00
阅读次数:
202
使用spool导出数据有时候也是一个比较好的选择,7万条数据导出需要10s,注意的是需要用@d:/spool.txt调用,set termout off才会生效不显示到屏幕。SQL语句和spool off后面要加分号。
SQL> drop table test purge;
SQL> create table test as select * from dba_objects;
SQL> s...
分类:
数据库 时间:
2014-12-01 08:55:59
阅读次数:
324
创建表不支持主外键,能够添加外键成功,但是无法外键约束。查资料发现MySql的默认ENGINE为MyISAM ,不支持外键,需要修改为 INNODB修改前:1 Create Table2 3 CREATE TABLE `person` (4 `id` varchar(32) NOT NULL,5.....
分类:
数据库 时间:
2014-11-29 20:09:36
阅读次数:
190
一、Xtrabackup备份恢复原理备份innodb表时,xtrabackup若干个线程拷贝独立表空间的.ibd文件,并不停监视此过程中redolog的变化,添加到自己的事务日志文件(xtrabackup_logfile)中。在此过程中,发生的物理写操作越多,xtrabackup_logfile越大。在拷贝完成后的第一个prepare..
分类:
数据库 时间:
2014-11-29 07:11:44
阅读次数:
250
用的是一个绿色版的mysql数据库,发现不支持事务,在网络上搜集资料找到解决方案:1、执行语句 SHOW ENGINES;如果发现InnoDB全部显示为“YES”,说明该版本的数据库支持事务2、修改某个表支持事务ALTER TABLE表名 ENGINE = INNODB;如果没有出错,则修改该表支持...
分类:
数据库 时间:
2014-11-28 21:21:44
阅读次数:
262
MyISAM 和 InnoDB 讲解
InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。...
分类:
数据库 时间:
2014-11-28 20:12:26
阅读次数:
359
关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql 中 innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但...
分类:
数据库 时间:
2014-11-28 11:34:37
阅读次数:
286
先上图
1.缓冲池
InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。通常使用缓冲池来提高数据库的整体性能。缓冲池简单说就是一块内存,通过内存的速度弥补磁盘速度较慢对数据库性能的影响。在数据库中进行读操作时,首先将从磁盘读到的页存放在缓冲池中,下一次读取相同的页时,首先判定是否存在缓冲池中,如果有就是被命中直接读取,没有的话就从磁盘中读取。在数据库进行改操作...
分类:
数据库 时间:
2014-11-27 16:30:48
阅读次数:
513