1.selectKey介绍及作用 <selectKey>标签有如下属性 resultType:sql返回的java类型 statementType:STATEMENT|PREPARED|CALLABLE三种默认PREPARED keyProperty:列名对应的java属性名,可逗号分隔 keyColumn:列名,可逗号分隔 order:BEFORE|AFTER,BEFORE表示<selectKey>里的sql先执行然后再把获取到的值进行设置,AFTER则表示后执行,获取自增主键并设置肯…
1.selectKey介绍及作用 <selectKey>标签有如下属性 resultType:sql返回的java类型 statementType:STATEMENT|PREPARED|CALLABLE三种默认PREPARED keyProperty:列名对应的java属性名,可逗号分隔 keyColumn:列名,可逗号分隔 order:BEFORE|AFTER,BEFORE表示<selectKey>里的sql先执行然后再把获取到的值进行设置,AFTER则表示后执行,获取自增主键并设置肯…
在最新一届国际数据库顶级会议 ACM SIGMOD 2022 上,来自清华大学的李国良和张超两位老师发表了一篇论文:《HTAP Database: What is New and What is Next》,并做了 《HTAP Database:A Tutorial 的专项报告。这几期学术分享会的文章,StoneDB 将系统地梳理一下两位老师的报告,带读者了解 HTAP 的发展现状和未来趋势。 在《深度干货!一篇 Paper 带您读懂 HTAP》这期中我们对HTAP产生的背景和现有的HTAP数据库及其技术栈做了比较…
我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在测试环境拼装这条 SQL,刚过了几分钟,同事已经自信的写好了这条SQL,于是拿给DBA,到线上跑一下,用客户端工具导出Excel 就好了,毕竟是临时方案嘛。 就在SQL执行了之后,意外发…
大家好!我是黄啊码,今天没继续select * 了吧,如果还继续,那接下来的课程先别学,回去好好把之前的课程重复复习一遍,学明白了我们再会?废话不多说,学今天的课程之前我们先来说说这几个词是怎么个执行顺序: LIMIT、DISTINCT、 FROM 、 WHERE、GROUP BY、 HAVING 、 ORDER BY stop!先别百度,如果知道,直接在评论区把答案敲上去,然后再拉滚动条看答案: 看不见。。。看不见。。。看不见。。。看不见。。。看不见。。。看不见。。。看不见。。。看不见。。。看不见。。。FROM …
①MVCC定义,用处,快照读,当前读 ②MVCC实现原理:隐藏字段,readview,undo log ③readview访问规则 ④事务隔离级别的具体实现 大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我🤣🤣🤣! 🍳引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制。 其中多版本是指什么呢?一条记录的多个版本。 并发控制?如何实现呢?我们上篇刚讲到了锁机制,而MVCC则是用更好的方式来提高并发性能,避免加锁!具体如何实现,底层原理是什么,这篇将带你攻破ta。 🎏本篇速览…
数据持久化 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。 瞬时状态 保存在内存的程序数据,程序退出,数据就消失了 持久状态 保存在磁盘上的程序数据,程序退出后依然存在 数据持久化技术 Hibernate、JPA、==JDBC(Java Datebase Connectivity)==等 JDBC框架 Driver 接口 java.sql.Driver 接口是所有 JDBC 驱动程序需要实…
MySQL实战45讲 9 09 | 普通索引和唯一索引,应该怎么选择? 每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的 SQL 语句: select name from CUser where id_card = 'xxxxxxxyyyyyyzzzzz'; 由于身份证号字段比较大,不建议你把身份证号当做主键,那么现在有两个选择,要么给 id_card 字段创建唯一索引,要么创建一个普通索引。 Q:从性能的角度…
简单构建设计数据库 数据库设计案例 描述:简单构建设计数据库 sql代码实现 /* 数据库设计案例 */ -- 音乐表 CREATE TABLE Music ( title VARCHAR (32), -- 专辑名 alias VARCHAR (32), -- 专辑别名 image VARCHAR (64), -- 封面照片 style VARCHAR (8), -- 流派(如经典,流行,民谣,电子等) type VARCHAR (4), -- 类型 (专辑,单曲等) MEDIUM VARCHAR (4), -- …
首先明确一下定义: 内连接:在多表查询的时候,只检索出表之间相互匹配的行(满足匹配条件的行),结果中不包括两个表之间不匹配的行。 一个不太准确但易懂的例子:比如有两个表,表1存储了 (1,2,3,4,5 )这五个数字。表2存储了(3,4,5,6,7,8)这6个数字。多表查询时两个表的关联条件是 “表1 = 表2”. 那么检索的输出就是取这两个表的交集。,即 3,4,5. 外连接:在多表查询的时候,处理检索出内连接的数据外,还返回左表(或者右表)中不满足匹配条件的行。这种连接称为左(或者右)外连接。 还是上边那个小例…
主从复制 + 分库分表 要讲主从复制,首先来看看MySQL自带的日志文件。 日志 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志文件。 该日志是默认开启的,默认存放目录 /var/log/,默认的日志文件名为 mysqld.log 。查看日志位置: show variables like '%log_error%'; 通过tail指令查看日…