mysql
文章平均质量分 86
feigeswjtu
这个作者很懒,什么都没留下…
展开
-
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
再执行mysql的DML时,出现ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction,甚至是特别简单的DML时也会出现,简单的来看执行超时,这么简单的sql怎么会执行超时呢?会不会是其他操作把表锁着了,或者是阻塞了呢?最大可能是表被之前哪儿个操作锁着了。一步一步的查询:mysql> show f原创 2015-10-20 10:11:38 · 954 阅读 · 0 评论 -
mysql的prepared statement
写过java,rails,php等的同学都知道,mysql在执行中有一个占位符的sql,比如rails里:ModelTest.where("id = ?", 100)但是在这个语句的背后,语言又做了什么事情呢?调研看,它在生成sql之前会将占位符替换掉,生成真正的sql。但是mysql里却是真正支持占位符的,它叫prepared statement。用法如下:mysql>原创 2016-03-16 23:41:34 · 1875 阅读 · 0 评论 -
mysql查看表结构的几种方式
在实际的开发中,我们肯定经常要查看表结构的,特别是遇到自己不是最初开发的项目的时候,通过表结构,大概就能看出表里存什么数据,每个字段代表什么意思。实际上有很多查看表结构的方式,下面就拿rails里面的表schema_migrations介绍一下我自己常用的命令:desc table_name;mysql> desc schema_migrations;+---------+-------原创 2016-03-28 20:33:06 · 4468 阅读 · 0 评论 -
Mysql Explain 详解
一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | selec转载 2016-03-28 20:39:31 · 340 阅读 · 0 评论 -
mysql查看正在执行的sql
在开发的过程中,我们经常需要查看一下当前数据库的执行情况,比如如果我们select一个数据,很长时间都没有返回,我们在想,是不是什么sql语句把表锁着了,或者什么sql把资源占完了,那么我们怎么查这条sql呢?办法肯定是有的:show full processlistmysql> show full processlist;+-------+----------+---------原创 2016-03-28 21:09:15 · 4364 阅读 · 0 评论 -
mysql日期处理函数
今天遇到一个问题,需要根据mysql表里的两个时间字段做查询,要求查询两个时间字段之间的时间差小于等于2秒的数据,原创 2016-04-11 21:44:03 · 847 阅读 · 0 评论 -
Rails的事务和锁
今天订单出了一个库存超卖的问题,查找了很久,才定位到原因,之前用rails也很少用到事务和锁,这里介绍一下它们。原创 2016-07-10 20:22:45 · 3623 阅读 · 1 评论