
mysql
wslzjr
这个作者很懒,什么都没留下…
展开
-
异常解决——Lock wait timeout exceeded; try restarting transaction
同事在做项目的时候遇到一个事务死锁的问题,在做一个修改的时候提示:Lock wait timeout exceeded; try restarting transaction解决方案:1. mysql查询 正在执行的事务:SELECT * FROM information_schema.INNODB_TRX根据这个事务的线程ID(trx_mysql_thread_id): 从上图看出对应的mysql 线程:一个94362 (第二个正在等待锁)另一个是93847(第一个update 正在执行转载 2021-09-08 19:47:44 · 2073 阅读 · 0 评论 -
mysql中find_in_set用法
FIND_IN_SET(str,strlist)注释:str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录例子:mysql> SELECT FIND_IN_SET('b', 'a,b,c,d');-> 2 因为b 在strlist集合中放在2的位置 从1开始select FIND_IN_SET('1', '1'); 返回 就是1 这时候的strli...原创 2020-09-02 14:37:32 · 179 阅读 · 0 评论 -
MySQL把以逗号分隔的字符串转换成行
场景:原表:目标数据格式:思路:MySQL利用help_topic表把以逗号分隔的字符串转换成行实现:sql:SELECT a.id,substring_index( substring_index( a.age, ',', b.help_topic_id + 1 ), ',',- 1 ) nameFROM wstest1 aJOIN mysql.help_topic b ON b.help_topic_id < ( length( a.age ) -.原创 2020-08-28 11:35:39 · 3843 阅读 · 0 评论 -
update同一张表的例子
场景:业务中台--的bd_area表需要把pk_parent(父id)字段更新解决sql:-- 二级更新update bd_area a LEFT JOIN(select b.id,substr(b.area_code,1,2) as bcode,substr(b.tree_code,1,3) as btcode from bd_area b where LENGTH(b.tree_code)=3) mon substr(a.area_code,1,2)=m.bcod原创 2020-05-09 11:11:32 · 1487 阅读 · 0 评论 -
查询MySql表空间大小
由于MySql表的相关信息都存放在information_schema 表空间下面的tables里面,所以查询表空间大小的时候也是查这个表里面的数据.查询整个库里面所有表的信息select * from information_schema.tableswhere table_schema='你要查询的库';查询整个库里面所有表的大小select table_name,table...转载 2019-12-25 10:00:31 · 627 阅读 · 0 评论 -
阿里云RDS读写分离数据查询延迟解决
环境:mysql数据库,上到阿里云RDS中。 实现了读写分离。问题数据库中表更新后,查询不到数据(偶发)原因没有实现微服务。 由于我们数据库在阿里云的RDS中实现了读写分离。受限于mysql本身原因导致数据产生延迟,所以数据在读写实例中查询不到,不走后面的代码。解决修改方案:在sql中添加注释 "/FORCE_MASTER/",指定后续 SQL 到主实例执行。 修改如下(...原创 2019-12-09 14:50:00 · 2036 阅读 · 0 评论 -
sql表导入到powerdesigner中
网上有一种是powerdesigner逆向工程导从数据库导出pdm。这是一种方式,网上有很多帖子,我就不再说了。我的场景: 由于公司项目较老,没有用powerdesigner,所以我在梳理表关系时有些蒙圈,需要把表关系弄明白。目的: 把表信息在powerdesigner中显示出来。步骤:1.将要导入的数据库的所有表的结构(不要表数据,只要表结构)导出成一个.sql...原创 2019-11-13 10:50:30 · 625 阅读 · 0 评论 -
sql强制执行某个索引
SELECT 字段一, 字段二, 字段三, 字段四, 字段五, 字段六FROM 表一 force index(表一_字段) WHERE 查询条件一如果不是必要,建议最好不要强制执行索引,因为mysql会为你选择最优的索引。...原创 2019-10-12 16:43:35 · 795 阅读 · 0 评论 -
联合主键和复合主键区别
什么是数据表的复合主键所谓的复合主键 就是指你表的主键含有一个以上的字段组成比如create table test( name varchar(19), id number, value varchar(10), primary key (name,id))上面的name和id字段组合起来就是你test表的复合主键它的出现是因为你的...原创 2019-10-12 16:35:32 · 697 阅读 · 0 评论 -
sql优化之EXPLAIN的详解
血泪史: 博主从前只知道sql优化是:不要用select * ,between and代替<>,in...非常low的优化知识。但自从发现了EXPLAIN之后,才觉得真正进入了sql优化的世界。正题: 开发中有时会出现一个复杂的sql查询执行时间很长的问题,这个时候就需要通过EXPLAIN来进行分析啦!应用:EXPLAIN的用法很简单,只需要在sql前...原创 2019-09-26 10:52:20 · 242 阅读 · 0 评论 -
sql:Duplicate column name XXX问题
Duplicate column name xxx的问题很明显,列名xxx重复的问题!举个简单的例子:现有两个表A和BA表B表select m.* from (select a.*,b.* from A a inner join B b where a.id=b.id) m;正常来说子查询是不会出错的,但是由于某种原因需要查询m.*,这时候就报错了。原因:不...原创 2019-09-06 17:29:45 · 3280 阅读 · 3 评论 -
通俗易懂的on DUPLICATE key update用法
<div id="article_content" class="article_content clearfix"> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-...转载 2019-09-06 17:05:21 · 656 阅读 · 0 评论