基本操作 索引 过程mysql

河北王校长MySQL

# 河北王校长MySQL ## 索引 - b+树数据结构\数量级\存储内容 - b+树优势、对比哈希表\数组\b树\跳表 - 跳表不适用磁盘存储介质、指针管理难以适应联合索引、出现时间晚 - hash不支持最左前缀和范围查找 - 数组成本过高 - b树树型过高,io多 - 最左前缀原则 - 索引覆盖 ......
校长 MySQL

jsp页面连接mysql数据库报错“com.mysql.jdbc.Driver”

今天在做web实验的时候数据库突然连不上了 以下是报错 我用的mysql包为mysql-connector-java:5.1.47 找了好久后来在一篇博客的启发下,那篇博客中说把一般包为web下lib目录中后来我仔细观察,发现我添加的包在WEBINF目录下的classes下的lib中,难怪找不到 我 ......
mysql 页面 数据库 数据 Driver

mysql按顺序递增(出现不连续问题)

问题 在表中添加新记录时,自动递增不连续(之前出现过了473,之后删除473,再插入新纪录,新纪录的id是474,我想让他的id为8) (用springboot+mybatis-plus插入新纪录) 解决 第一步 1. 如果是InnoDB引擎:将该字段先取消“自动递增”,去掉“不是null”的对勾, ......
顺序 问题 mysql

23-5-19--字符串操作--剪切粘贴

L1-6 剪切粘贴 分数 15 使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。 工具需要完成一系列剪切后粘贴的操作,每次操作分为两步: 剪切:给定需操作的起始位置和结束位置,将当前字符串中起始位置到结束位置部分的字符串放入 ......
字符串 字符 23 19

.NET6 + EF Core + MySQL 创建实体和数据库、EFCore 数据迁移

前言 接上期文章《.NET6项目连接数据库方式方法》,有人问了我几个问题,现在就这几个问题,拓展延申一下创建实体类、数据库。把ORM框架和数据迁移都写进去。 安装ORM框架,这里我们采用EFCore 安装EFCore 我的项目是在Linux上创建的,使用的是vscode开发工具远程开发。为了方便大家 ......
数据 实体 数据库 EFCore MySQL

列表的一些操作:表达式, *3 等

lst = [1, 2, 1 + 2, 2 > 3, 'Tom and Jerry'] print(lst) print(lst[-1][4:-2]) print(lst[-1][:-6:-1]) lst2 = ['A', 'B', 'C', ] lst.extend(lst2 * 3) # [1, ......
表达式

druid mysql数据库连接池 配置项

spring: datasource: #类型 type: com.alibaba.druid.pool.DruidDataSource #驱动 driverClassName: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driv ......
数据库 数据 druid mysql

HashSet 的基本使用

​ HashSet 是 Java 中的集合类之一,它实现了 Set 接口,并基于哈希表实现。它不允许集合中存在重复元素,因此可以用来存储一组唯一的对象。 在 HashSet 中,每个元素都对应着一个唯一的键值,这个键值是通过元素的 hashCode() 方法计算出来的。具体来说,HashSet 通过 ......
HashSet

Oracle删除列操作:逻辑删除和物理删除

概念 逻辑删除:逻辑删除并不是真正的删除,而是将表中列所对应的状态字段(status)做修改操作,实际上并未删除目标列数据或恢复这些列占用的磁盘空间。比如0是未删除,1是删除。在逻辑上数据是被删除了,但是数据本身还在数据库中,只是不进行对外提供了,逻辑删除的本质是修改操作(将is_delete的值进 ......
逻辑 物理 Oracle

HashSet 的基本使用

​ HashSet 是 Java 中的集合类之一,它实现了 Set 接口,并基于哈希表实现。它不允许集合中存在重复元素,因此可以用来存储一组唯一的对象。 在 HashSet 中,每个元素都对应着一个唯一的键值,这个键值是通过元素的 hashCode() 方法计算出来的。具体来说,HashSet 通过 ......
HashSet

多表操作

第一章 外键 在实际开发项目中,一个健壮的数据表一定有很好的参照完整性,为保证数据的完整性,需将两表建立关系。这时可通过外键约束来实现 1.1、介绍 什么是外键约束? 在另一张表中引用另一张表的主键约束或唯一约束。 例如:如下操作创建表 create table grade( id int prim ......

mysql 慢查询日志

配置参数 long_query_time 的值(默认是10秒),超过这个值的就会被是为慢查询,后面可以根据 EXPLAIN 来跟踪 默认是关闭的。如果打开超过阈值的会被记录,所以建议在调优的时候才打开这个参数 -- 查看慢查询是否开启 show variables like 'slow_query_ ......
mysql 日志

MySQL学习基础篇Day2

2.5 DML DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进 行增、删、改操作。 添加数据(INSERT) 修改数据(UPDATE) 删除数据(DELETE) 2.5.1 添加数据 1). 给指定字段添加数据 INSERT INT ......
基础 MySQL Day2 Day

mysql 调优-Sys schema 分析

索引情况 -- 查询冗余索引(比如对于 name 字段创建了一个单列索引,有创建了一个 name 和 code 的联合索引) select * from sys.schema_redundant_indexes; -- 查询未使用过的索引 select * from sys.schema_unuse ......
schema mysql Sys

Mysql事务详解

事务 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成 事务指的是数据库一种保护数据的方式 事务一般由增删改操作自动调用,事务根据数据库不同提交的时机也是不同的 MySQL数据库默认执行增删改就会提交事务 我们可以设置为手动提交 set @@autocommit=0; 前面写b ......
事务 Mysql

mysql 调优-EXPLAIN 命令

一条 sql 的执行,会生成一个执行计划,这个执行计划是 优化器 认为最优的,然后执行器再执行这个执行计划 执行计划只是优化器自认为最优,不见得就是最优的 执行计划里面包括:可用的索引,真正用到的索引,表的读取顺序,每张表有多少行被优化等等 EXPLAIN 和 DESCRIBE 效果一样 EXPLA ......
命令 EXPLAIN mysql

mysql 调优-sql 优化

连接查询 原理涉及到 index nested-loop join , block nested-loop join ,join buffer size ,hash join(mysql8)等,感觉没必要记那么多 需要知道会一次性把驱动表的数据加载到内存中(如果 join buffer size 放 ......
mysql sql

DML语句 ------- mysql增删改

DML语句 1、插入(insert) insert into 表 values(数据) 要求插入数据的数量,类型要和表的结构一致 insert into 表(列名) values(数据) 要求插入的数据的数量顺序和表名后的列要一致 insert into 表(列名) select 从另外一张表查询的 ......
语句 mysql DML

MySQL中json_extract函数说明

1. json_extract 使用场景说明在日常业务开发中通常mysql数据库中某个字段会需要存储json格式字符串,查询的时候有时json数据较大,每次全部取出再去解析查询效率较低,也较麻烦.好在Mysql5.7及之后的版本里提供了json_extract函数,可以通过key查询value值(如 ......
json_extract 函数 extract MySQL json

mysql 调优-索引失效

范围条件放最后面,不管单列还是多列索引,把能过滤最多的索引放前面 用不用索引最终都是优化器决定的,EXPLAIN json 格式里的执行成本决定 最左匹配,如果是联合索引,查找索引树的时候,只能根据第一个索引才能找到第二个第三个,如果顺序没对就不会走索引 -- 联合索引(name, code, ad ......
索引 mysql

71.mysql的线程池

mysql的线程池: 我们默认的线程处理方式是:one-thread-per-connection (服务器使用一个线程处理每个客户端连接),意思就是我们一个连接connection对应一个线程, 然后可以设置最大的connection连接数,max_connections。 这里有一个问题是,当我 ......
线程 mysql 71

django報錯 django.db.utils.OperationalError: (2006, 'MySQL server has gone away')

Internal Server Error: /lotus/sectors/getAll/129/ Traceback (most recent call last): File "/root/.cache/pypoetry/virtualenvs/lotus-mammoth-backend-BC7 ......
django OperationalError server MySQL utils

MySQL回表 索引覆盖01

来源: https://zhuanlan.zhihu.com/p/512662526?utm_id=0 ......
索引 MySQL

MySQL回表 索引覆盖02

资料来源: https://zhuanlan.zhihu.com/p/401198674?utm_id=0 ......
索引 MySQL

[MySQL事务一文搞懂]

[MySQL事务一文搞懂] 1、什么是事务? 事务(Transaction),顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。 2、为什么需要事务 把一系列sql放入一个事务中有两个目的: 为数据库操作提供了 ......
事务 MySQL

mysql 调优-索引建议

列是唯一的,或有唯一约束(alibaba 规范指出只要是唯一的必须加索引,哪怕是多列组合是唯一的也要添加一个多列索引) 频繁作为 where 条件的字段 经常 group by 或 order by 的字段(对 select 结果集再次索引才能再次得到一个最终结果集) distinct 字段 upd ......
索引 建议 mysql

mysql 调优-利用索引覆盖和下推

回表 只查询一次索引得不到想要的数据,典型的场景就是非聚簇索引查询:先拿到主键ID,再根据id查询一次得到数据(再次查询这就是回表) 索引覆盖:根据普通索引查询不回表就能得到数据 -- 联合索引(age, addr) select age, addr from t_user where age > ......
索引 mysql

mysql 调优-思路和系统参数

思路 是否存在周期波动(如果是云数据库,控制台能看到),如果是,分析高峰,适当加缓存 加了缓存仍没有解决问题,开启慢查询,并使用 EXPLAIN 分析慢 sql 索引情况,也可通过 profile 查看每个步骤时间成本 分析结果如果是等待时间长,对数据库参数进行调优(连接池等) 分析结果如果是 sq ......
思路 参数 系统 mysql

mysql如何修改用户名密码

ERROR 1698 (28000): Access denied for user ‘root’@'localhost’解决方法 1、问题描述 在使用如下指令进入mysql shell界面时 mysql -u root -p 报错:ERROR 1698 (28000): Access denied ......
用户名 密码 用户 mysql

mysql 锁机制

表锁:InnoDB 支持行锁,不代表着就不支持表锁 表锁的 S 和 X 锁,MyISAM 的锁(不建议在 InnoDB 中使用) -- 查看当前有表锁的表 show open tables where in_use > 0; -- 给表加 S 锁(所有事务都能读,所有事务都不能写) lock tab ......
机制 mysql