不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2015-09-09 16:07  分类:MySQL/NoSQL  编辑

详情点击:

http://www.oschina.net/news/65696/phpmyadmin-4-5-0-beta1

意味着“本人”很长一段时间会使用 phpMyAdmin 4.4.x 的最后一个版本!

常用开发组合 PHP 5.4.x + MySQL 5.5.x

作者:php-note.com  发布于:2015-08-09 12:22  分类:MySQL/NoSQL  编辑

REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。注意:除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。

作者:php-note.com  发布于:2015-06-20 13:52  分类:MySQL/NoSQL  编辑

update table1 t1 ,table2 t2 set t1.field1 = t2.field2 where t1.id = t2.id

作者:php-note.com  发布于:2015-06-06 20:10  分类:MySQL/NoSQL  编辑
作者:php-note.com  发布于:2015-01-05 14:08  分类:MySQL/NoSQL  编辑

场景

Mutex主要用于有大量并发访问并存在cache过期的场合,如

  • 首页top 10, 由数据库加载到memcache缓存n分钟;
  • 微博中名人的content cache, 一旦不存在会大量请求不能命中并加载数据库;
  • 需要执行多个IO操作生成的数据存在cache中, 比如查询db多次;

问题

在大并发的场合,当cache失效时,大量并发同时取不到cache,会同一瞬间去访问db并回设cache,可能会给系统带来潜在的超负荷风险。我们曾经在线上系统出现过类似故障。

作者:php-note.com  发布于:2014-11-18 10:22  分类:MySQL/NoSQL  编辑

在修改/增加表字段的时候,发现很慢,

show processlist; 时, Waiting for table metadata lock 能一直锁很久。

alter table的语句是很危险的,在操作之前最好确认对要操作的表没有任何进行中的操作、没有未提交事务、也没有显式事务中的报错语句。如果有alter table的维护任务,在无人监管的时候运行,最好通过lock_wait_timeout设置好超时时间,避免长时间的metedata锁等待。

作者:php-note.com  发布于:2014-11-10 15:10  分类:MySQL/NoSQL  编辑

作者:php-note.com  发布于:2014-11-10 11:20  分类:MySQL/NoSQL  编辑

MySQL SELECT ... FOR UPDATE 的 Row Lock 与 Table Lock

上面介绍过SELECT ... FOR UPDATE 的用法,不过锁定(Lock)的数据是判别就得要注意一下了。由于InnoDB 预设是Row-Level Lock,所以只有「明确」地指定主键,MySQL 才会执行 Row lock (只锁住被选取的数据) ,否则MySQL 将会执行 Table Lock (将整个数据表单给锁住)。

作者:php-note.com  发布于:2014-11-08 23:35  分类:MySQL/NoSQL  编辑

WHERE 条件

有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。

语法:

SELECT column,… FROM tb_name WHERE definition
作者:php-note.com  发布于:2014-10-28 13:57  分类:MySQL/NoSQL  编辑