![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
朱海涛的博客
你知道的越多,你不知道的越多
展开
-
子查询与连接查询 执行过程与效率对比
连接查询一.Nested-Loop Join在Mysql中,使用Nested-Loop Join的算法思想去优化join,Nested-Loop Join翻译成中文则是“嵌套循环连接”。举个例子:select * from t1 inner join t2 on t1.id=t2.tid(1)t1称为外层表,也可称为驱动表。(2)t2称为内层表,也可称为被驱动表。//伪代码表示:List<Row> result = new ArrayList<>();for(原创 2020-07-13 10:30:38 · 2382 阅读 · 0 评论 -
MySQL-锁
数据库锁的分类➢按锁的粒度划分,可分为表级锁、行级锁、页级锁➢按锁级别划分,可分为共享锁、排它锁按加锁方式划分,可分为自动锁、显式锁➢按操作划分,可分为DML锁、DDL锁➢悲观锁,乐观锁MyISAM与InnoDB关于锁方面的区别是什么?1.MyISAM默认用的是表级锁,不支持行级锁。2.InnoDB默认使用的是行级锁,也支持表级锁。表级锁如果我们的表使用的是表级锁,那么在对表进行查询的时候,就会给表上一个读锁(即共享锁)如果再进行其他的cud操作,则cud会等待查询完毕之后进行操作。l原创 2020-05-18 18:30:23 · 102 阅读 · 0 评论 -
SQL优化的方法
具体场景具体分析,以下是小朱总结的大致思路1.根据慢日志定位慢查询SQLshow variables like '%quer%'查询mysql查询的相关变量结果中:slow_query_log_file表示慢查询的日志文件slow_query_log OFF 表示不显示慢查询的日志long_query_time 表示的查询时间超过多少秒保存在慢查询日志中,默认的为10秒show status like '%slow_queries%'查询慢查询的次数set global slow_que原创 2020-05-16 14:42:13 · 200 阅读 · 1 评论 -
MySQL索引2
1.为什么要是用索引为了加快查询速度,mysql通过B+tree的数据结构来提高访问速度。二叉查找树:每一个节点的左子节点比该节点小,右子节点的值大于改节点的值。同一深度每个节点到叶子节点的高度差不能超过1...原创 2020-05-14 23:36:39 · 137 阅读 · 0 评论 -
MySQL基本语法操作,对表的基本操作,查询
对表的基本操作1.使用主键约束在字段后面加上 primary key或者 primary key(name)2.contraint 约束名 foreign key () references 表名(主键)3.唯一属性 unique 4.非空属性 not null5.默认属性 default6.设置自动增加 auto_increment7.查看数据表结构DESC 表名 查看表详细结构show cr...原创 2018-05-30 10:10:51 · 230 阅读 · 0 评论 -
MySQL索引
索引概念:索引是数据表中一列或者多列的值进行排序的一种结构,单独存储在磁盘上,它们包含着对数据表中所有记录的应用指针可以提高查询速度。优点:1.通过创建唯一索引,可以保证数据表中的每一行数据的唯一性2.可以大大加快查询速度,主要原因3.在实现数据参考完整性方面,可以加快表与表之间的联系4,在进行排序可分组子句进行数据查询时,可以显著减少排序和分组的时间缺点:1、创建缩影和维护索引要消耗时间,2、占...原创 2018-05-30 10:39:23 · 79 阅读 · 0 评论