![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
空想家丶
这个作者很懒,什么都没留下…
展开
-
分布式锁-mysql行锁
分布式锁-mysql行锁锁工具类 MutexUtilpublic class MutexUtil { public static void lock(String mutexName,Connection connection) { PreparedStatement preparedStatement= null;//获得锁 ResultSet r...原创 2020-03-05 12:46:59 · 313 阅读 · 0 评论 -
mysql-联接查询-驱动表
联接查询-驱动表1.概念驱动表,即需要从驱动表中拿出来每条记录,去与被驱动表的所有记录进行匹配探测。驱动表,作为外层循环被驱动表,即里层循环,由于需要不断的拿外层循环传进来的每条记录去匹配,所以是随机读取的,走索引查询会大大提高速度。2.判断驱动表与被驱动表最有效确定驱动表的方式-EXPLAIN EXPLAIN select * from dept_emp as d inner...原创 2019-12-16 19:16:45 · 543 阅读 · 1 评论 -
mysql-联接查询-联接算法
1.Simple Nested-Loops Join算法1.1概念从一张表(外部表)中每次读取一条记录,然后将记录与内部表中的记录进行比较。对于外部表R,内部表S,并且不存在索引扫描成本O(Rn*Sn),Rn和Sn表示对应表的记录数1.2 算法算法如下:For each row r in R do //从表R取出一条记录r For each row s in S do // ...原创 2019-12-16 17:02:27 · 146 阅读 · 0 评论 -
mysql-联接查询-增加索引
联接查询-增加索引1.对应的表CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`dept_no`));CREATE TABLE `s...原创 2019-12-16 15:48:11 · 687 阅读 · 0 评论 -
Mysql——查询语句执行顺序
1. FROM当涉及多个表的时候,左边表的输出会作为右边表的输入,之后会生成一个虚拟表VT1。笛卡尔积计算两个相关联表的笛卡尔积(CROSS JOIN) ,生成虚拟表VT1。mysql> select * from table1,table2;+-----+------+-----+------+| uid | name | oid | uid |+-----+------+...转载 2019-11-16 10:23:57 · 136 阅读 · 0 评论 -
Mysql——on和where的区别
1.ONon不仅仅可以作为表的连接,也可以过滤条件。select user_name ,dept_name from `user` as u join department as d on u.id>12.区别1)解释ON和WHERE的主要区别在于,on是执行在join语句之前,WHERE是执行在join语句之后。join语句做的操作是加入外部行,比如说left,right,...原创 2019-11-16 10:14:43 · 425 阅读 · 0 评论