
MySQL
MySQL
只吹45°风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL-MyISAM和InnoDB的区别
主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅引;最好使用自增主键,防止插入数据时, 为维持B+树结构,文件的大调整。一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为2G),受操作系统文件大小的限制;采用非聚集索引,索引文件的数据域存储指向数据文件的指针。原创 2024-11-15 13:58:14 · 164 阅读 · 0 评论 -
MySQL-聚簇索引与非聚簇索引的区别与理解
mysql innodb存储引擎存储的表数据文件是按照B+tree索引结构存储的,可分为聚簇索引和非聚簇索引(一般也叫二级索引)。聚簇索引叶子节点存储的是整行数据,非聚簇索引叶子结点存储的是聚簇索引(也就是主键id,然后根据主键id去聚簇索引中查询。1、聚簇索引一般我们会把表的自增主键作为聚簇索引,索引聚簇索引也就是按照每张表的主键构建一颗B+ tree,同时叶子节点中存放的就是整张表的行记录数据。这个特性决定了索引组织表中的数据也是索引的一部分,每张表只能有一个聚簇索引。2、非聚簇索引。原创 2024-10-18 10:36:09 · 605 阅读 · 0 评论 -
MySQL-关于视图view的一些使用及理解
MySQL中的视图是一种虚拟表,其内容是由存储在数据库中的SELECT查询的结果集构成的。视图可以简化复杂的查询操作,并且可以保护数据,因为它们可以隐藏底层表的复杂性。1、定义:视图并不实际存储数据,而是存储了定义视图的SELECT语句。当查询视图时,MySQL会执行这个SELECT语句并返回结果。2、创建视图:使用CREATE VIEW语句来创建一个视图。3、更新视图:视图也可以被更新(插入、删除或修改数据),但这取决于视图的基础结构和定义。原创 2024-10-12 16:59:59 · 299 阅读 · 0 评论 -
MySQL-binlog、redolog和undolog的区别
3、undlog也是InnoDb引擎特有的(实现了原子性),保存着更新前的语句,用于sql语句的回滚,MVCC用到了undolog,当读取的行被其他事务锁定时,可以从undolog找出该行记录之前的数据是什么,从而提供版本信息,保证用户的非一致性读取。两阶段提交:在事务提交前redolog会有一个prepare阶段,这个阶段中先记录好redolog,然后在redolog提交commit之前,会记录binlog,记录好了之后会执行commit操作。不能,因为undolog是循环写,写入磁盘后会将数据擦除。原创 2024-09-13 10:35:35 · 708 阅读 · 0 评论 -
Mysql-慢SQL的处理以及SQL优化
前言开发过程中,从日志或者链路追踪中,我们可以统计和观察到慢SQL的存在,那么慢SQL需要如何去考虑以及修改呢?考虑:1、是否使用索引、是否load过多不需要的数据、数据库数据过多命中索引,尽量使用合适的索引重写SQL,查询的字段尽量精准,where过滤条件越精准的往前放清除老数据,优化表结构2、表结构的修改:通过添加冗余字段来减少join操作诚然,对于发现和处理慢SQL是必要的,可以提升系统的效率。但是根本上还是要在日常开发中,注意对于sql的编写。下面我们就来看看都有哪些调优方式,哪些原创 2024-09-03 10:19:09 · 713 阅读 · 0 评论 -
MySQL-SQL优化Explain命令以及参数详解
在MySQL优化的众多手段中,EXPLAIN命令扮演着至关重要的角色。它是数据库管理员和开发者手中的利器,用于分析SQL查询的执行计划。通过执行EXPLAIN,MySQL会提供一份详细的查询执行计划报告,这份报告揭示了查询将如何执行,包括数据访问路径、表的连接顺序、使用的索引、预期扫描的行数等关键信息。这些信息对于识别和解决性能瓶颈至关重要。原创 2024-07-01 12:02:54 · 1025 阅读 · 0 评论 -
Mysql-基本语法及场景示例(一:库表创建、增删改查)
MySQL是一种广泛使用的开源关系型数据库管理系统。本教程将介绍如何创建数据库、表,以及执行基本的增删改查(CRUD)操作。原创 2024-06-03 17:05:21 · 191 阅读 · 0 评论 -
MySQL8.0使用DBeaver连接报错:Public Key Retrieval is not allowed
原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制 而原来5.7版本验证方式为mysql_native_password。因此从5.7版本升级过来的不会受到影响。2、若使用Jdbc的url连接报错,则在url中加入allowPublicKeyRetrieval=true。1、本地使用工具连接:将驱动属性allowPublicKeyRetrieval置为true。方案一:命令行模式进入mysql输入以下命令。原创 2024-05-17 15:44:41 · 1187 阅读 · 0 评论