声明:本文章内容是根据极客时间中林晓斌的课程《MYSQL45讲》,经过学习,加以自己的理解形成的笔记。具体原文可以到官网进行阅读。如有侵权请,告知删除。1.索引MYSQL中的索引,其实就是一种数据结构,该结构可以提高数据的查询效率。就像一本书一样,如果拥有目录的话,你可以快速的通过浏览目录 从而找到对应的内容。而索引就相当于这本书的目录。2.为什么使用N叉树因为需要最大限度的减少读盘次数,N取决于
文章目录数据结构MyISAM存储引擎索引实现InnoDB索引实现 索引是帮助MySQL高效获取数据的排好序的数据结构主键和unique约束的字段会自动添加索引(根据主键查询效率较高,尽量根据主键检索)索引操作添加索引 create index 索引名 on 表名(字段名);删除索引 drop index 索引名 on 表名(字段名);索引分类:单一索引:给单个字段添加索引联合索引:多个字段联合起
本文将和你们分享 MySQL 更新语句的一些小众语法,及笔者在使用多表关联更新遇到的一些问题。mysql先来看单表更新的语法:sqlUPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET assignment_list
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]你们可能会以为奇怪,在
# MySQL事务过长
## 介绍
MySQL是一种流行的关系型数据库管理系统,用于存储和管理大量数据。在MySQL中,事务是一组数据库操作,被视为一个逻辑单位。事务通常用于确保数据库操作的一致性和完整性。然而,如果事务执行时间过长,可能会导致性能问题和锁定资源的风险。
本文将介绍MySQL事务过长的原因,并提供一些示例代码来演示如何优化事务性能。
## 事务过长的原因
MySQL事务过
原创
2023-08-01 06:15:19
240阅读
主键,又称住码,是表中一列或多列的组合。主键要求主键列的数据唯一,并且不允许为空,主键能够唯一地表识表中的一条记录,可以结合外键定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录一一对应的。主键分为两种类型:单字段主键和多字段联合主键。一.单字段主键单字段主键有一个字断组成,字断名 数据类型 primary key [默认值]设置ID为主键create table tb_emp
(
转载
2023-06-07 19:36:19
242阅读
定义:主键(PRIMARY KEY)”的完整称呼是“主键约束”。MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。主键约束字段的选取:主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。主键应该遵守下面的规则:每个表只能定义一个主键。主键
转载
2023-06-23 11:42:14
292阅读
存储过程-官方解释:是sql语句和控制语句的预编译集合。以一个名称存储并作为一个单元处理。存储过程-直白的说:把需要的命令预编译好。存到数据库。只在第一次的时候需要编译,存储后,以后使用的时候客户端直接(传参)调用。各种省事。优点:增强sql语句的功能性和灵活性实现较快的执行速度减少网络流量【因为往数据库传递的参数少了。所以请求少了】怎么使用:A、首先需要DELIMITER 语句来修改定界符B、然
MySQL Json字段过长
### 1. 引言
在MySQL中,Json字段是一种非常常见的数据类型,它可以存储各种类型的数据,如字符串、数字、布尔值、数组和对象等。然而,当Json字段过长时,可能会遇到一些问题。本文将介绍Json字段过长的问题及解决方法。
### 2. 问题描述
当Json字段的内容过长时,可能会导致以下问题:
- 存储空间的浪费:Json字段会占用相应的存储空间,而当字
原创
2024-01-14 03:24:28
251阅读
# MySQL备份时间过长的原因及优化方法
## 1. 引言
MySQL是一种广泛使用的关系型数据库管理系统,备份是保证数据安全的重要手段之一。然而,在进行MySQL备份时,有时候会遇到备份时间过长的问题,这不仅会占用大量的系统资源,还可能影响到正常的数据库服务。本文将分析MySQL备份时间过长的原因,并提供一些优化方法,帮助用户解决备份时间过长的问题。
## 2. 备份时间过长的原因
#
原创
2023-12-04 06:45:13
279阅读
正文大概过程在测试环境Docker容器中,在跨进程调用服务的时候,A应用通过Dubbo调用B应用的RPC接口,发现B应用接口超时错误,接着通过debug和日志,发现具体耗时的地方在于一句简单SQL执行,但是耗时超过1000ms。通过查看数据库的进程列表,发现是有死锁锁表了,很多进程状态status处于'sending data',最后为锁住的表添加索引,并且kill掉阻塞的请求,解除死锁,服务速度
1 避免使用 select * 很多时候,写 sql 语句时,为了方便,喜欢直接使用select *,一次性查出表中所有列的数据。在实际业务场景中,可能我们真正需要使用的只有其中一两列。查了很多列,但是不用,浪费了数据库资源,比如:内存或者 cpu。此外,多查出来的数据,通过网络 IO 传输的过程中,也会增加数据传输的时间。还有一个最重要的问题是:select *不会走覆盖索
# MySQL 主键及主键索引详解
在关系型数据库中,主键是表中的一种特殊字段,它唯一标识表中的每一条记录。主键所涉及的索引被称为主键索引,是一种特殊类型的索引,能够快速查找和访问表中的数据。本文将详细介绍 MySQL 中的主键和主键索引,并通过示例代码以及流程图和甘特图帮助您更好理解。
## 什么是主键
主键是一列(或多列)的组合,其值唯一标识数据表中的每一行记录。主键的特征如下:
- *
原创
2024-10-03 03:15:07
109阅读
1.定义表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。2.主键设计原则总原则:根据数据库表的具体使用范围来决定采用不同的表主键定义。2.1 确保主键的无意义性在开发过程中,有意义的字段例如“用户登录信息表”将“登录名”(英文名)作为主键,“订单表”中将“订单编号”作为主键,如此设计主键一般都是没什么问题,因为将这些主键基本不具
转载
2023-08-18 15:59:18
69阅读
主键主键每一行都应该有能够唯一标识自己的一列。主键(primary key),其值能够唯一区分表中的每一行数据。如果没有主键的话,更新或者删除表中的特定行就会很困难,因为没有安全的方法能够唯一标识这一行数据。虽然并不是总需要主键,但是我们都应该保证每个表都有主键,以便于以后数据操纵和管理。主键的条件表中的任一一列都能够作为主键,但是作为主键有以下几个条件:1、 主键值不能重复 2、主键值不能为NU
转载
2023-08-15 13:28:49
121阅读
正文[CONSTRAINT <约束名>] UNIQUE(<字段名>)定义数据表tb_dept3,指定部门的名称唯一,SQL语句如下:mysql> CREATE TABLE tb_dept3
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(22),
->
转载
2024-08-23 15:20:45
58阅读
1、主键 超键 候选键 外键主 键:数据唯一标志,一张表只能有一个主键且主键的取值不能为空值(Null)超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。外 键:在一个表中存在的另一个表的主键称此表的外键。2、视图是什么一个虚拟表,是sql的查询结果,其内容由查
转载
2023-11-08 22:57:35
116阅读
干货:主键是关系表中记录的唯一标识。主键的选取非常重要:主键不要带有业务含义,而应该使用BIGINT自增或者GUID类型。主键也不应该允许NULL。可以使用多个列作为联合主键,但联合主键并不常用。关系数据库通过外键可以实现一对多、多对多和一对一的关系。外键既可以通过数据库来约束,也可以不设置约束,仅依靠应用程序的逻辑来保证。通过对数据库表创建索引,可以提高查询速度。通过创建唯一索引,可以保证某一列
转载
2023-09-27 12:45:21
129阅读
主键:
主键是关系表中记录的唯一标识。主键的选取非常重要:主键不要带有业务含义(指:
身份证号,email这些看似唯一的字段
),而应该使用BIGINT自增或者GUID类型。主键也不应该允许
NULL
。 可以使用多个列作为联合主键,但联合主键并不常用。
外键:
关系数据库通过外键可以实现一对多、多对多和一对一的关系。外键既可以通过数据
转载
2024-04-28 21:06:19
23阅读
约束条件之主键1.primary key主键 从约束角度上而言 primary key主键 等价于非空且唯一 not rull uniquecreate table a1(
id int primary key,
name varchar(32)
); I
转载
2023-07-04 16:29:02
99阅读
这篇文章总结了mysql中常用的约束管理、索引管理、键管理语句。在本博客中,”mysql”是一个系列文章,这些文章主要对mysql/mariadb的常用知识点进行了总结,每一篇博客总结的知识点有所不同,具体内容可参考mysql文章列表。mysql文章列表直达链接:mysql知识点总结关系型数据库中的数据约束的概念为:数据约束可以理解为向数据表中插入数据时要遵守的限制规则。mysql中的常用约束有主
转载
2023-10-15 06:29:36
239阅读