转载地址:http://yueliangdao0608.blog.51cto.com/397025/1180917 如果遇到死锁了,怎么解决呢?找到原始的锁ID,然后KILL掉一直持有的那个线程就可以了, 但是众多线程,可怎么找到引起死锁的线程ID呢? MySQL 发展到现在,已经非常强大了,这个问题很好解决. 直接从数据字典连查找. 我们来演示下. 线程A,我们用来锁定某些记录,假设这个线程一直没提交,或者忘掉提交了. 那么就一直存在,但是数据里面显示的只是SLEEP状态. mysql
自关联查询(自身id关联自身id(主键),查询的时候可以逻辑分为两个表,然后分别起一个别名来区分) select * from areas as cityinner join areas as provinces on provinces.id=city.pidwhere provinces.title='山西省' 视图:对查询语句的封装. create view v_stu_cla_sco as (后面加上查询语句,注意和查询不同的是field不能重复)select stu.name,clas
mysql中id一般都设为uuid,除了我们在后台用到的uuid利用jpa注解来生成外,其实在mysql中直接也可以生成 直接上代码: 1.mysql中直接使用uuid()函数,可以生成一个随机的uuid 2.正常的uuid是36位长度的,例如:d48644cc-2c7a-4714-9900-18ab99e80b03,其中有4个字符是”-“,在mysql中可以使用replace()函数来替换”-“ UPDATE bill_annex set id = REPLACE(UUID(),"-"
其实在我们的工作中类似,select * from your_table order by id desc limit 2000000,20会经常遇见,比如在分页中就很常见. 如果我们的sql中出现这样的查询(比如:点击查看“末页”),那是相当恐怖的(等待时间会很长).该sql是一个非常典型的排序+分页查询:order by col limit N,OFFSET M, MySQL 执行此类sql时需要先扫描到N行,然后再去取 M行.对于此类大数据量的排序操作,取前面少数几行数据会很快,但是越靠后