Mysql
空想家丶
这个作者很懒,什么都没留下…
展开
-
分布式锁-mysql行锁
分布式锁-mysql行锁 锁工具类 MutexUtil public class MutexUtil { public static void lock(String mutexName,Connection connection) { PreparedStatement preparedStatement= null;//获得锁 ResultSet r...原创 2020-03-05 12:46:59 · 312 阅读 · 0 评论 -
mysql-联接查询-驱动表
联接查询-驱动表 1.概念 驱动表,即需要从驱动表中拿出来每条记录,去与被驱动表的所有记录进行匹配探测。驱动表,作为外层循环 被驱动表,即里层循环,由于需要不断的拿外层循环传进来的每条记录去匹配,所以是随机读取的,走索引查询会大大提高速度。 2.判断驱动表与被驱动表 最有效确定驱动表的方式-EXPLAIN EXPLAIN select * from dept_emp as d inner...原创 2019-12-16 19:16:45 · 540 阅读 · 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 · 141 阅读 · 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 · 686 阅读 · 0 评论 -
Mysql——查询语句执行顺序
1. FROM 当涉及多个表的时候,左边表的输出会作为右边表的输入,之后会生成一个虚拟表VT1。 笛卡尔积 计算两个相关联表的笛卡尔积(CROSS JOIN) ,生成虚拟表VT1。 mysql> select * from table1,table2; +-----+------+-----+------+ | uid | name | oid | uid | +-----+------+...转载 2019-11-16 10:23:57 · 129 阅读 · 0 评论 -
Mysql——on和where的区别
1.ON on不仅仅可以作为表的连接,也可以过滤条件。 select user_name ,dept_name from `user` as u join department as d on u.id>1 2.区别 1)解释 ON和WHERE的主要区别在于,on是执行在join语句之前,WHERE是执行在join语句之后。 join语句做的操作是加入外部行,比如说left,right,...原创 2019-11-16 10:14:43 · 407 阅读 · 0 评论