草庐IT

MySQL中的回表

目录1、表扫描和索引:表扫描(TableScan):索引:2、聚簇索引vs.非聚簇索引:聚簇索引(ClusteredIndex):非聚簇索引(Non-clusteredIndex):选择索引类型的考虑:3、回表:回表的工作流程:为什么发生回表:回表的影响:我的其他博客"回表"是数据库查询中的一个概念,特别是在执行查询时涉及到非聚簇索引的情况下。让我们来详细解释一下:1、表扫描和索引:表扫描(TableScan):表扫描是指数据库系统对整个表进行逐行扫描以满足查询条件。当没有适用的索引可用或查询条件无法充分利用索引时,数据库引擎可能会选择执行表扫描。表扫描有两种类型:全表扫描和局部扫描。全表扫描

【MySql】Navicat 连接数据库出现1251 - Client does not support authentication protocol 问题的解决方法

Navicat连接mysql,连接时出现问题:1251-Clientdoesnotsupportauthenticationprotocolrequestedbyserver;considerupgradingMySQLclient1251-客户端不支持服务器请求的身份验证协议;请考虑升级mysql客户端。再次安装MySQL后,使用Navicat或者MySQLyog都会出现上面这个异常。解决方法其实这是一个简单的权限与安全问题1、以管理员身份运行CMD窗口。2、通过cd语句进入mysql的安装目录bin目录下笔(我使用的MySQL是8.0.33版本的,mysqlserver安装的默认路径为:F

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

MySQL主从复制是一种常见的数据库架构,它可以提高数据库的性能和可用性。动态数据源切换则可以根据业务需求,在不同场景下使用不同的数据源,比如在读多写少的场景下,可以通过切换到从库来分担主库的压力。在本文中,我们将介绍如何在SpringBoot中实现MySQL主从复制和动态数据源切换,使用MyBatis-Plus进行数据库操作#代码地址https://github.com/bangbangzhou/spring-boot-dynamic-master-slave.git今日内容介绍,大约花费19分钟图片那么接下来我们开始项目实现,项目结构如下图片1.引入依赖在项目的的pom.xml文件中引入S

MySQL --- 图形化工具&DDL表结构操作

目录一.图形化工具1. 介绍2.3.2安装2.3.3MySQL图形化管理工具使用二.表操作2.1MySQL-DDL-表结构操作-创建2.3.1创建表结构2.3.1.2约束2.2MySQL-DDL-表结构操作-数据类型数值类型字符串类型日期时间类型2.3.1MySQL-DDL-表结构操作-查询&修改&删除2.3.2表结构的查询 2.3.3修改2.3.4删除 小结:一.图形化工具1. 介绍前面学习了DDL中关于数据库操作的SQL语句,在编写这些SQL时,都是在命令行当中完成的。在命令行当中来敲这些SQL语句很不方便,主要的原因有以下3点:没有任何代码提示。(全靠记忆,容易敲错字母造成执行报错)操作

理解Mysql索引原理及特性

作为开发人员,碰到了执行时间较长的sql时,基本上大家都会说”加个索引吧”。但是索引是什么东西,索引有哪些特性,下面和大家简单讨论一下。1索引如何工作,是如何加快查询速度索引就好比书本的目录,提高数据库表数据访问速度的数据库对象。当我们的请求打过来之后,如果有目录,就会快速的定位到章节,再从章节里找到数据。如果没有目录,如大海捞针一般,难度可见一斑。这就是我们经常碰到的罪魁祸首,全表扫描。一条索引记录中包含的基本信息包括:键值(即你定义索引时指定的所有字段的值)+逻辑指针(指向数据页或者另一索引页)。通常状况下,由于索引记录仅包含索引字段值(以及4-9字节的指针),索引实体比真实的数据行要小许

转战MySQL Shell!数据库备份新姿势,轻松搞定备份操作!

一、MySQLShell安装1、下载 可以在MySQL官网进行下载,地址https://dev.mysql.com/downloads/shell/。需要根据操作系统类型、版本及glibc版本选择对应的文件下载,例如:[root@VM-4-14-centos~]#uname-aLinuxVM-4-14-centos3.10.0-1160.99.1.el7.x86_64#1SMPWedSep1314:19:20UTC2023x86_64x86_64x86_64GNU/Linux[root@VM-4-14-centos~]#ldd--versionldd(GNUlibc)2.17Copyright

MySQL5.7 实现类似 MySQL8.0 中 row_number() over(partition by ... order by ...) 函数的分组排序编号效果

示例现在这里有一张用户表user,里面包含以下字段:ID主键、USERNAME用户名、PASSWORD密码、COMPANY公司、DEPT部门、CREATE_TIME创建时间。IDUSERNAMEPASSWORDCOMPANYDEPTCREATE_TIME1张三123456212023-02-2213:12:042李四123456112023-02-1013:12:293王五123456232023-02-2013:13:484老六123456222023-02-2413:14:185老八123456122023-02-2513:14:396赵九123456312023-02-2113:16:2

Mysql进阶- InnoDB引擎架构

逻辑存储结构InnoDB的逻辑存储结构如下图所示: 1).表空间是InnoDB存储引擎逻辑结构的最高层,如果用户启用了参数    innodb_file_per_table(在8.0版本中默认开启),则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。2). 段,分为数据段(Leafnodesegment)、索引段(Non-leafnodesegment)、回滚段(Rollbacksegment),InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点。段用来管理多个Extent(区)。3). 区,表空间的单元

mysql.connector.errors.InterfaceError: 2026 (HY000): SSL connection error: error:1425F102:SSL routin

解决问题:mysql.connector.errors.InterfaceError:2026(HY000):SSLconnectionerror:error:1425F102:SSLroutines:ssl_choose_client_version:unsupportedprotocol使用mysql.connector库产生的问题禁用ssl连接def__init__(self):#ConnecttoMySQLdatabaseself.conn=mysql.connector.connect(user=USERID,password=PASSWORD,host=SERVER,databas

【MySQL系列】Centos安装MySQL

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,Mac,Alfred,electerm,Git,typora,apifox等数据库系列:详细总结了常用数据库mysql技术点,以及工作中遇到的mysql问题等懒人运维系列:总结好用的命令,解放双手