Mysql
卢士林
这个作者很懒,什么都没留下…
展开
-
mysql设置事务不自动提交
set autocommit=0;show VARIABLES like '%autocommit%';BEGIN;update test set number=number-1 where id=1;update test set number=number+1 where id=2;-- 设置了事务不自动提交,其实是生效的,事务会一直卡在这里-- 执行下面commit才会真正提交上commit;...原创 2020-09-25 19:40:42 · 2045 阅读 · 0 评论 -
mysql驱动表与被驱动表及join优化
驱动表与被驱动表先了解在join连接时哪个表是驱动表,哪个表是被驱动表:1.当使用left join时,左表是驱动表,右表是被驱动表2.当使用right join时,右表时驱动表,左表是驱动表3.当使用join时,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表join查询如何选择驱动表与被驱动表在sql优化中,永远是以小表驱动大表。例如: A是小表,B是大表使用lef...转载 2020-02-27 09:11:42 · 703 阅读 · 1 评论 -
关于thinkphp连贯操作加锁的详细介绍lock
官网上面的加锁介绍不是很详细,我给详细说一下 首先,数据库类型要是InnoDB,其次,加锁必须跟事务同时使用,还有,查询的时候都必须带锁,比如: $user_mod->lock(true)->where(‘id=1’)->select();这个地方用锁查询,其次地方如果查询这个user对象需要防止同时操作的话也要进行加锁,就是也要用lock(true)这种方式查询: 代码示例...转载 2018-08-23 09:57:45 · 239 阅读 · 0 评论 -
mysql查看死锁和解除锁
解除正在死锁的状态有两种方法:第一种:1.查询是否锁表show OPEN TABLES where In_use > 0;2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)show processlist3.杀死进程id(就是上面命令的id列)kill id第二种:1.查看下在锁的事务SELECT * FROM INFORMATION...转载 2018-12-21 09:51:17 · 715 阅读 · 0 评论 -
细说mysql索引
本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫...转载 2019-05-18 09:23:17 · 85 阅读 · 0 评论 -
Mac下Mysql:Authentication plugin ‘caching_sha2_password’ cannot be loaded
在命令行下可以登录root,但是在navicat里连接不上网上说好像是因为密码加密问题(加载不到加密插件?)…错误: Authentication plugin ‘caching_sha2_password’ cannot be loaded:dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): imagenot...原创 2019-06-18 11:43:19 · 724 阅读 · 1 评论