这种方式的优点是 :对于需求比较简单的系统,效率较高。缺点是 ,当 SQL 有变化时都需要重新编译代码, 一般情况下不建议使用MyBatis的注解方式 。因此,(原书)本章不会进行深入讲解。在MyBatis注解 SQL 中,最基本的就是@Select 、@Insert 、@Update 和@Delete 四种 。&nb
转载
2024-07-08 12:58:29
267阅读
索引可以是“稠密的”,即数据文件中每个记录在索引文件中都设有一个索引项;索引也可以是“稀疏的”,即数据文件中只有一些记录在索引文件中表示出来,通常为每个数据块在索引文件中设一个索引项。索引还可以是“主索引”或者“辅助索引”。主索引能确定记录在数据文件中的位置,而辅助索引不能。比如说,通常我们会在关系的主键上建立主索引,而在其他的属性上建立辅助索引。3.1.
转载
2024-07-30 12:03:23
16阅读
1、问题背景在开发中,我们经常会有逻辑删除和唯一索引同时使用的情况。但当使用mybatis plus时,如果同时使用逻辑删除(https://baomidou.com/guide/logic-delete.html)和唯一索引,会报数据重复Duplicate entry的问题。举例来说,有表user,建立唯一索引(user_name,is_del)CREATE TABLE `user` (
`
转载
2024-05-29 06:27:56
744阅读
写在前面的话: MySQL5.6支持全文检索,而且支持innodb类型表!!!支持中文检索!!!当然词与词之间要有空格等分割符分开才能识别,这一点中英文都一样1. 建立索引利用navicat 在设计表中建立FullText类型索引即可,注意“栏位”指要建立索引的列的集合,可以一列或多列,建立好就可以对其进行检索在MySQL配置文件中将ft_min_len=1,MySQL全文索
mybatis plus之主键生成策略1.自增策略@TableId(value = "id", type = IdType.AUTO)
private String id; 2.雪花生成器(推)java @TableId(value = "id", type = IdType.ASSIGN_ID) private String id;3.UUID@TableId(value = "id", ty
Explain关键字用到的数据表如下:DROP TABLE IF EXISTS `actor`;
CREATE TABLE `actor` (
`id` int(11) NOT NULL,
`name` varchar(45) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE
转载
2024-07-25 14:41:03
21阅读
MyBatis的增删改之后,一定要提交事物!!!在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件。一个主人可以养很多条小狗狗,但是一条狗只有一个主人。那主键肯定只能放在dog表里面。数据库表结构:一、联合查询1、一对一(使用左连接)public class Dog {
private int id;
private String name;
private
转载
2024-04-11 10:21:08
915阅读
目录事务1、概念2、事务的基本特性(ACID)3、事务中并发一致性的问题4、事务的隔离级别MySQL的锁1、按锁的粒度分类:2、按锁的类型分类:3、InnoDB中行锁定的方式4、乐观锁、悲观锁MySQL的储存引擎索引1、索引的概念:2、索引的优缺点:3、MySQL索引的B+树4、索引的类型5、 聚集索引与非聚集索引6、 覆盖索引、回表7、联合索引、最左前缀匹配原则8、索引下推9
【高性能MySQL】学习笔记第五章:创建高性能的索引1 索引基础1.1 索引的类型2 索引的优点3 高性能的索引策略3.1 独立的列3.2 前缀索引和索引选择性 1 索引基础要理解 MySOL中索引是如何工作的,最简单的方法就是去看看一本书的“索引”部分:如果想在一本书中找到某个特定主题,一般会先看书的“索引”,找到对应的页码。 都用过的字典举例,拼音查字、部首查字这些用到的就行拼音和部首的索引
转载
2024-10-21 18:34:16
219阅读
1.0基础知识一张数据表中具有百万级的数据时,如何精确且快速的拿出其中某一条或多条记录成为了人们思考的问题。 InnoDB存储引擎的出现让这个问题得到了很好的解决,InnoDB存储引擎是以索引来进行数据的组织,而索引在MySQL中也被称之为键,因此UNIQUE KEY,PRIMARY KEY约束字段会作为索引字段。 当没有明确指出PRIMAY KEY时,InnoDB存储引擎会自动的创建一个
建立索引的优点:1、大大加快数据的检索速度;2、创建唯一性索引,保证数据库表中每一行数据的唯一性;3、加速表和表之间的连接;4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。索引的种类1、按照索引列值的唯一性,索引可分为唯一索引和非唯一索引;非唯一索引:create index 索引名 on 表名(列名) tablespace 表空间名;唯一索引:建立主键或者唯一约束时会
转载
2024-05-17 06:12:45
321阅读
客户端把sql语句交给数据库后,需要经过数据库的优化器生成查询计划,在此期间决定是走索引查询还是进行全表扫描。本文将展示字段添加索引前后查询效率的对比,来指出哪些情况适合创建索引1.数据准备本次实验准备了两张表,分别是学生表student_info和课程表course,他们的结构如下CREATE TABLE `student_info` (
`id` int NOT NULL AUTO_INC
转载
2024-07-23 19:31:20
124阅读
索引的优缺点 首先说说索引的优点:最大的好处无疑就是提高查询效率。有的索引还能保证数据的唯一性,比如唯一索引。 而它的坏处也很明显:索引也是文件,我们在创建索引时,也会创建额外的文件,所以会占用一些硬盘空间。其次,索引也需要维护,我们在增加删除数据的时候,索引也需要去变化维护。当一个表的索引多了以后,资源消耗是很大的,所以必须结合实际业务再去确定给哪些列加索引。索引的结构 再说说索引的基本结
转载
2024-03-18 10:50:06
231阅读
唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。1、普通索引 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创
转载
2023-12-01 22:45:07
175阅读
索引的分类如下:物理分类逻辑分类分区或非分区索引单列或组合索引B树索引(标准索引)唯一或非唯一索引正常或反向键索引基于函数索引位图索引B树索引b树索引通常也称为标准索引,索引的顶部为根,其中包含指向索引中下一级的项,下一级为分支块,分支块又指向索引中下一级的块.最低级为叶节点,其中包含指向表行的索引项.叶块为双向链接,有助于按关键字值的升序和降序扫描索引创建普通索引的语法如下CREATE [UNI
转载
2024-02-28 11:08:00
65阅读
索引类型聚簇索引: 叶子节点存储的是行记录,每个表必须要有至少一个聚簇索引。使用聚簇索引查询会很快,因为可以直接定位到行记录 普通索引:二级索引,除聚簇索引外的索引,即非聚簇索引。普通索引叶子节点存储的是主键(聚簇索引)的值。聚簇索引递推规则:如果表设置了主键,则主键就是聚簇索引如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索引以上都没有,则会默认创建一个隐藏的
转载
2024-06-21 13:57:39
33阅读
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有
转载
2024-06-10 20:25:55
147阅读
数据库中我们最常用到的元素就是database、table、column。Mybatis作为强大的ORM框架,当中也包含了获取处理这些元素的代码,本篇将介绍相关的内容。一、Catalog & Schema 在介绍具体的代码
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为四个部分。第一部分主要从
一、普通索引&唯一索引的抉择1.查询过程举例:select id from T where k=5?:相同:均从B+树根开始,按层搜索到叶子节点对应的数据页并加载到内存中(16KB),数据页内部通过二分法定位记录。?:差异:普通索引的等值查询,会继续遍历到第一个不相等的值才会结束。唯一索引等值查询,命中则结束(PS:性能差距微乎其微)备注:当找到 k=5 的记录的时候,它所在的数据页就都在
转载
2024-04-26 09:35:30
49阅读