上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页
摘要: 数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特 阅读全文
posted @ 2013-11-21 17:55 jyzhou 阅读(86876) 评论(26) 推荐(29) 编辑
摘要: 背景: 自增长是一个很常见的数据属性,在MySQL中大家都很愿意让自增长属性的字段当一个主键。特别是InnoDB,因为InnoDB的聚集索引的特性,使用自增长属性的字段当主键性能更好,这里要说明下自增主键需要注意的几个事项。问题一:表锁 在MySQL5.1.22之前,InnoDB自增值是通过其本身的自增长计数器来获取值,该实现方式是通过表锁机制来完成的(AUTO-INC LOCKING)。锁不是在每次事务完成后释放,而是在完成对自增长值插入的SQL语句后释放,要等待其释放才能进行后续操作。比如说当表里有一个auto_increment字段的时候,innoDB会在内存里保存一个计数器用来记录au 阅读全文
posted @ 2013-11-20 17:38 jyzhou 阅读(12531) 评论(4) 推荐(1) 编辑
摘要: 本文来自:http://dinglin.iteye.com/blog/1976026#comments背景 客户报告了一个count(distinct)语句返回结果错误,实际结果存在值,但是用count(distinct)统计后返回的是0。将问题简化后复现如下,影响已知的所有版本。这里的 set tmp_table_size=1024; 一定是在插入前设置,这样下面的操作就是按照这个大小进行的,最终出现错误的结果,解决办法:1,开始前设置足够大的tmp_table_size(推荐);2,设置成1024,在不修改tmp_table_size 的前提下,设置 set sql_big_tables= 阅读全文
posted @ 2013-11-18 13:38 jyzhou 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: MySQL在备份方面包含了自身的mysqldump工具,但其只支持单线程工作,这就使得它无法迅速的备份数据。而mydumper作为一个实用工具,能够良好支持多线程工作,这使得它在处理速度方面十倍于传统的mysqldump。其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份 阅读全文
posted @ 2013-11-15 13:36 jyzhou 阅读(12507) 评论(4) 推荐(3) 编辑
摘要: 从MySQL的Innodb特性中我们知道,Inndob的表空间有共享和独享的特点,如果是共享的。则默认会把表空间存放在一个文件中(ibdata1),当开启独享表空间参数Innodb_file_per_table时,会为每个Innodb表创建一个.ibd的文件。文章讨论在独享表空间卸载、装载、迁移Innodb表的情况。条件:2台服务器:A和B,需要A服务器上的表迁移到B服务器。Innodb表:sysUser,记录数:351781。以下测试在MySQL 5.5.34中进行。开始处理:1:在B服务器上建立sysUser表,并且执行:zjy@B : db_test 09:50:30>alter 阅读全文
posted @ 2013-11-12 14:46 jyzhou 阅读(5099) 评论(0) 推荐(0) 编辑
摘要: 看完 David Jiang 大神写的 <Innodb 技术内幕 第2版> 的第2章,对Innodb有了进一步的认识,大致的总结下知识点,方便自己查阅。 第一部分:线程 Innodb是一个多线程的,各个线程负责不同的任务。主要的线程有:Master Thread、IO Thread、Purge Th 阅读全文
posted @ 2013-11-06 13:16 jyzhou 阅读(2092) 评论(2) 推荐(3) 编辑
摘要: 本文来自网址: http://www.penglixun.com/tech/database/having_without_groupby_in_mysql.html 今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录:“SELECT * FROM t HAVING id=MIN(id);”但是只是把MIN换成MAX,这样返回就是空了:“SELECT * FROM t HAVING id=MAX(id);”这是为什么呢?我们先来做个试验,验证这种情况。这是表结构,初始化两条记录,然后试验:root@localhost : plx 10:25:10> show creat 阅读全文
posted @ 2013-10-30 11:00 jyzhou 阅读(1715) 评论(0) 推荐(0) 编辑
摘要: 摘要: 死锁:是指两个或则多个事务在同一个资源上相互占用,并请求锁定对方占用的资源,而导致恶性循环的现象;当产生死锁的时候,MySQL会回滚一个小事务的SQL,确保另一个完成。上面是死锁的概念,而在MySQL中innodb会出现死锁的情况,但是查看死锁却很不“智能”。只能通过 show engine... 阅读全文
posted @ 2013-10-28 17:18 jyzhou 阅读(3409) 评论(3) 推荐(1) 编辑
摘要: 摘要:通过下面的这些命令在接触到新的数据库服务器的时候能更好更快的了解服务器和数据库的状况。1:pt-summary:查看系统摘要报告执行:pt-summary 打印出来的信息包括:CPU、内存、硬盘、网卡等信息,还包括文件系统、磁盘调度和队列大小、LVM、RAID、网络链接信息、netstat 的统计,以及前10的负载占用信息和vmstat信息。# Percona Toolkit System Summary Report ###################### Date | 2013-10-23 09:06:37 UTC (local TZ: CST +0800) ... 阅读全文
posted @ 2013-10-23 17:52 jyzhou 阅读(2459) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在主从复制的架构中,正常情况下主上操作的记录也会在从上进行操作,虽说是异步复制,但操作会“实时”的同步到从。比如在主上不小心误操作了,还没等反应过来从上也会马上执行误操作,后期只有通过二进制或则备份恢复数据了,费时,又费力,没有任何回旋的余地,而且也会影响到网站的功能。而pt-slave-delay故意让主上的操作延迟制定的时间写入到从,这样就可以快速的处理上面说的问题了。下面介绍下使用方法,其实挺简单的。前提:下载地址:wget www.percona.com/downloads/percona-toolkit/2.2.2/percona-toolkit-2.2.2.tar.gz安装 阅读全文
posted @ 2013-10-23 16:23 jyzhou 阅读(3198) 评论(0) 推荐(1) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页