随笔分类 -  mysql

摘要:window11 安装mysql报错: The action 'Remove' for product 'Connector/NET 8.0.26' failed 这个问题我这边安装是failed的,我直接点击下一步安装即可,使用数据库并没有什么影响。 阅读全文
posted @ 2023-05-02 11:44 xycccode 阅读(48) 评论(0) 推荐(0) 编辑
摘要:mysql主从复制中,需要将主从复制关系清除,需要取消其从库角色。这可通过执行RESET SLAVE ALL清除从库的同步复制信息、包括连接信息和二进制文件名、位置。从库上执行这个命令后,使用show slave status将不会有输出。 reset slave是各版本Mysql都有的功能,在st 阅读全文
posted @ 2023-03-15 00:02 xycccode 阅读(201) 评论(0) 推荐(0) 编辑
摘要:逻辑存储结构 表空间,段、区、页、行 系统表空间和独占表空间、通用表空间 一个区的大小是1M,一个页的大小是16K,一个区就包含64个连续的页。 InnoDB引擎在分配空间时会一次性申请4到5个区,从而保证申请到的页是连续的。 架构 内存结构 缓冲区:将80%的内存都分配给缓冲区,因为通过缓冲区那么 阅读全文
posted @ 2023-03-12 16:46 xycccode 阅读(14) 评论(0) 推荐(0) 编辑
摘要:基本概念 1). 当前读 读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。对于我们日常的操作,如:select ... lock in share mode(共享锁),select ...for update、update、insert、delete(排他 阅读全文
posted @ 2023-03-12 16:30 xycccode 阅读(32) 评论(0) 推荐(0) 编辑
摘要:事务基础 1). 事务 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 2). 特性 • 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。• 一致性(Con 阅读全文
posted @ 2023-03-11 13:19 xycccode 阅读(72) 评论(0) 推荐(0) 编辑
摘要:逻辑存储结构 InnoDB的逻辑存储结构如下图所示: 1). 表空间 表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储 阅读全文
posted @ 2023-03-11 12:47 xycccode 阅读(18) 评论(0) 推荐(0) 编辑
摘要:概述:锁是在并发访问时,解决数据的有效性、一致性问题,有全局锁、表级锁、行级锁,锁粒度越小越好。 全局锁:是对整个数据库实例加锁,一旦对整个数据库实例加了锁,那么就意味着这个数据库的实例处于只读状态,是不能够进行写入操作的,其他所有的写入操作都会处于阻塞状态, 性能比较差,主要是用着数据的逻辑备份。 阅读全文
posted @ 2023-03-10 20:02 xycccode 阅读(18) 评论(0) 推荐(0) 编辑
摘要:概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库 阅读全文
posted @ 2023-03-10 19:43 xycccode 阅读(64) 评论(0) 推荐(0) 编辑
摘要:介绍 触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性, 日志记录 , 数据校验等操作 。 使用别名OLD和NEW来引用触发器中发生变化的 阅读全文
posted @ 2023-03-10 17:15 xycccode 阅读(96) 评论(0) 推荐(0) 编辑
摘要:介绍存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用 特点: 封装,复用 > 可以把某一业务SQL 阅读全文
posted @ 2023-03-10 16:40 xycccode 阅读(21) 评论(0) 推荐(0) 编辑
摘要:介绍视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 语法 1). 创建 CREA 阅读全文
posted @ 2023-03-10 01:39 xycccode 阅读(90) 评论(0) 推荐(0) 编辑
摘要:1.插入数据 批量插入、手动控制事务、主键顺序插入 大批量插入:load data local infile 2.主键优化 主键长度尽量短、顺序插入、自增主键、不要使用UUID 3.order by using index 直接通过索引返回数据,性能高 using filesort 需要将排序返回的 阅读全文
posted @ 2023-03-10 01:02 xycccode 阅读(14) 评论(0) 推荐(0) 编辑
摘要:我们主要需要注意一下update语句执行时的注意事项。 update course set name = 'javaEE' where id = 1 ; 当我们在执行删除的SQL语句时,会锁定id为1这一行的数据,然后事务提交之后,行锁释放。 但是当我们在执行如下SQL时。 update cours 阅读全文
posted @ 2023-03-10 00:50 xycccode 阅读(59) 评论(0) 推荐(0) 编辑
摘要:为了解决并发事务所引发的问题,在数据库中引入了事务隔离级别。主要有以下几种: 读未提交、读已提交、可重复读、序列化 1). 查看事务隔离级别 SELECT @@TRANSACTION_ISOLATION;2). 设置事务隔离级别 SET [ SESSION | GLOBAL ] TRANSACTIO 阅读全文
posted @ 2023-03-09 20:14 xycccode 阅读(70) 评论(0) 推荐(0) 编辑
摘要:赃读:一个事务读到另外一个事务还没有提交的数据。 比如B读取到了A未提交的数据。 2). 不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。 事务A两次读取同一条记录,但是读取到的数据却是不一样的。 3). 幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入 阅读全文
posted @ 2023-03-09 18:10 xycccode 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。持久性(Durability) 阅读全文
posted @ 2023-03-09 17:57 xycccode 阅读(23) 评论(0) 推荐(0) 编辑
摘要:控制事务一 1). 查看/设置事务提交方式 SELECT @@autocommit ;SET @@autocommit = 0 ;2). 提交事务 COMMIT; 3).回滚事务 ROLLBACK; 注意:上述的这种方式,我们是修改了事务的自动提交行为, 把默认的自动提交修改为了手动提交, 此时我们 阅读全文
posted @ 2023-03-09 17:56 xycccode 阅读(21) 评论(0) 推荐(0) 编辑
摘要:概述在之前的测试中,我们发现,如果数据量很大,在执行count操作时,是非常耗时的。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高; 但是如果是带条件的count,MyISAM也慢。InnoDB 引擎就麻烦了,它执行 count(*) 的 阅读全文
posted @ 2023-03-09 17:19 xycccode 阅读(55) 评论(0) 推荐(0) 编辑
摘要:在数据量比较大时,如果进行limit分页查询,在查询时,越往后,分页查询效率越低。 们一起来看看执行limit分页查询耗时对比: 通过测试我们会看到,越往后,分页查询效率越低,这就是分页查询的问题所在。因为,当在进行分页查询时,如果执行 limit 2000000,10 ,此时需要MySQL排序前2 阅读全文
posted @ 2023-03-09 17:08 xycccode 阅读(37) 评论(0) 推荐(0) 编辑
摘要:分组操作,我们主要来看看索引对于分组操作的影响 首先我们先将 tb_user 表的索引全部删除掉 。 drop index idx_user_pro_age_sta on tb_user;drop index idx_email_5 on tb_user;drop index idx_user_ag 阅读全文
posted @ 2023-03-09 16:47 xycccode 阅读(43) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示