mybatis
Kevin_cai09
无情的bug maker
展开
-
mybatis(一)基本执行流程
mybatis(一)基本执行流程文章目录mybatis(一)基本执行流程一,mybatis组件二,mybatis基本执行流程2.1 构建SqlSessionFactory2.2 构建SqlSession2.3 利用sqlSession执行数据库交互2.4 执行数据库操作1.查询一,mybatis组件SqlSessionFactoryBuilder根据XML配置文件或者Java代码生成SqlSessionFactorySqlSessionFactory使用它生成Sqlsession是一定原创 2020-09-16 11:51:28 · 907 阅读 · 0 评论 -
分页查询优化
文章目录分页查询优化简单分页子查询优化直接利用索引定位优化分页查询优化当需要从数据库查询的表的数据量很庞大时,一次性查询全部记录的耗时可能会非常慢,而且,随着数据量的增多,会变得越来越耗时,这时候就需要使用到分页查询简单分页对于一般数据量不大,且对时间耗时不严格的业务,我们使用一般的简单分页查询就可以了-- 跳过1000条记录,查询1000条,即一页1000条记录select * from table limit 1000 offset 1000我个人习惯是上边的写法,或者这样写也可以:原创 2020-06-15 14:10:49 · 308 阅读 · 0 评论 -
MySQL索引原理及其优化
文章目录MySQL索引原理及其优化一,索引原理1.底层数据结构1.为什么使用B+树实现索引?2.索引在MyISAM和innodb中的实现索引在MyISAM的实现索引在innodb中的实现聚集索引和非聚集索引3.哈希索引4.联合索引的B+树如何组织?二,索引优化1.尽量不要出现重复索引2.减少冗余索引3.where子句后边的列索引只能用上1个4.多列索引必须遵循最左匹配原则5.尽量使用覆盖索引6.前...原创 2019-11-02 20:54:25 · 1017 阅读 · 0 评论 -
MySQL优化(表结构和系统配置优化)
文章目录MySQL优化(表结构和系统配置优化)一,表结构优化1.选择合适的数据类型2.表的垂直拆分3.表的水平拆分二,系统配置优化1.开启数据库缓存2.操作系统配置优化MySQL优化(表结构和系统配置优化)在前一篇文章中,我总结了关于mysql优化中的sql以及索引的优化,文章见sql以及索引的优化一,表结构优化 对于数据库表的设计,通常需要根据具体的业务流程画出E-R图,确定每个表中...原创 2019-10-31 17:38:47 · 757 阅读 · 0 评论 -
MySQL优化(SQL语句及索引优化)
文章目录MySQL优化(SQL语句及索引优化)一,慢查询日志1.什么是慢查询日志?2.日志内容3.分析SQL执行计划二,SQL优化1.优化count()和Max()2.子查询和关联查询优化3.group by优化4.limit优化三,索引优化MySQL优化(SQL语句及索引优化)最近在复习算法,为明年的春招做准备,欢迎互关呀,共同学习,进步!一,慢查询日志1.什么是慢查询日志?MyS...原创 2019-10-30 23:37:37 · 1235 阅读 · 0 评论 -
mybatis复习(三)缓存机制
文章目录mybatis复习(三)缓存机制一,一级缓存1.什么是一级缓存?2.工作示意图3.深入源码sqlSession组织Executor缓存组织操作缓存怎样判断某两次查询是完全相同的查询?CacheKey的确定一级缓存的生命周期总结二,二级缓存工作原理缓存操作缓存淘汰策略总结mybatis复习(三)缓存机制最近在复习框架的基础知识,利用国庆假期,想复习下mybatis,jpa,hibern...原创 2019-10-05 22:42:08 · 235 阅读 · 0 评论 -
mybatis复习(二)mybatis连接池和事务管理
文章目录mybatis连接池和事务管理一,连接池1.不使用连接池的UnpooledDataSource2.使用连接池的PooledDataSource二,mybatis事务管理1,数据库事务复习1.ACID基本性质2.java中的基本事务模型代码2,mybatis事务管理mybatis连接池和事务管理最近在复习框架的基础知识,利用国庆假期,想复习下mybatis,jpa,hibernate等...原创 2019-10-02 15:33:00 · 357 阅读 · 0 评论 -
mysql索引
文章目录一,mysql索引1.mysql中索引的使用mysql索引类型mysql中的索引操作二,mysql索引底层数据结构1.猜想索引的数据结构2.基于多叉树的索引实现MyIsam索引实现(非聚集索引)innerDB索引实现(聚集索引)innerDB和myIsam的区别三,补充哈希索引一,mysql索引mysql对索引的定义就是:索引是帮助高效获取数据的数据结构,1.mysql中索引的使用...原创 2019-08-09 21:32:23 · 576 阅读 · 0 评论 -
sql查询语句小结
今天在做作业的时候,发现自己sql语句基础并不是特别牢固,所以晚上得时候又重新看了一次查询的sql语法,复习复习基础,个人觉得查询sql语句在增删改查中个人觉得是最重要的,分类整理下边操作以下列表为主student_info表CREATE TABLE `student_info` ( `username` varchar(255) NOT NULL, `id` int(11) N...原创 2019-04-03 01:32:29 · 361 阅读 · 0 评论 -
数据库锁机制(一)
今天在做数据库作业的时候看到锁这个概念,就对其很感兴趣对数据库的锁机制做了以下总结:乐观锁乐观锁就如同他的名字一样,当其他人(线程)去取数据的时候,总是认为别人不会修改数据,总不会发生并发问题,所以因此没有上锁,只有在线程提交数据时会通过检查版本号的形式检测数据有没有被修改过。一般会在数据表中添加版本号(Version)字段来表示被修改的次数,当数据被修改,version+1,只有在ver...原创 2019-03-29 02:21:37 · 13421 阅读 · 5 评论 -
mybatis缓存机制
mybatis的缓存机制一级缓存一级缓存指的就是sqlsession,在sqlsession中有一个数据区域,是map结构,这个区域就是一级缓存区域。一级缓存中的key是由sql语句、条件、statement等信息组成一个唯一值。一级缓存中的value,就是查询出的结果对象。一级缓存是默认使用的。原理:测试:二级缓存二级缓存指的就是同一个namespace下的mapper,二级...原创 2019-01-25 00:15:55 · 121 阅读 · 0 评论 -
mybatis动态sql
动态SQL1.简介动态sql是mybatis的一大强大功能,能帮助我们解决sql拼接的困难,动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。2.if动态 SQL 通常要做的事情是根据条件拼接sql,下边如果title和author都不为空的话,拼接的sql语句就会是SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title...原创 2019-01-24 01:09:19 · 1119 阅读 · 0 评论