MySQL
文章平均质量分 82
想飞的盗版鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql与pgsql的区别
Pgsql中文文档。原创 2023-04-05 20:09:09 · 966 阅读 · 0 评论 -
MySQL(十四)--关于一些东东
MySQL(十四)–关于一些东东1,关于MySQL的日志类型:这个看MySQL书的605-606页的笔记。还有这两个链接:https://blog.youkuaiyun.com/lzh_00/article/details/90299354?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159525242219195188443691%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522原创 2020-07-20 21:44:41 · 156 阅读 · 0 评论 -
MySQL(十三)--有关于范式
MySQL(十三)–有关于范式第一范式:第一范式:所有属性都是不可分割的原子值。也就是每个属性都是不可再分的。例如下图就不符合第一范式的要求实际上,1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS),例如SQL Server,Oracle,MySQL中创建数据表的时候,如果数据表的设计不符合这个最基本的要求,那么操作一定是不能成功的。如果我们要在RDBMS中表现表中的数据,就得设计为下图的形式:第二范式(2NF):第二范式:在第一范式的基础上,要求非主属性都要和码原创 2020-07-20 21:39:37 · 1744 阅读 · 0 评论 -
MySQL(十二)--关于数据库连接池
MySQL(十二)–关于数据库连接池1,什么是连接池?数据库连接池负责分配,管理和释放连接,它允许应用程序重复使用一个现有的数据库连接,而不再重新建立一个。2,为什么要用连接池?一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完毕都关闭连接,这样会造成系统的下降。解决方案是:在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请,使用和释放。对于>连接池中连接数的并发请求,应该在请求队列中排队等待,并且应用程序可以根据原创 2020-07-20 20:02:16 · 2591 阅读 · 0 评论 -
MySQL(十一)--MySQL主从复制
MySQL(十一)–MySQL主从复制一、什么是主从复制:主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库将主数据库中的DDL和DML操作通过二进制日志传输到从数据库上,然后将这些日志重新执行(重做);从而使得从数据库的数据与主数据库保持一致。DDL:操作数据库、表、列等(这些对象进行操作),使用的关键字:CREATE、 ALTER、 DROPDML:DML是对表中的数据进行增、删、改的操作。不要与DDL混淆了二 、为什么要做主从复制?数原创 2020-07-20 17:48:11 · 255 阅读 · 0 评论 -
MySQL(十)--数据库左连接,右连接
MySQL(十)–数据库左连接,右连接前提:先创建语句(也就是先有表,再会有表的链接):一、内连接(inner join):select * from a_table a inner join b_table b on a.a_id = b.b_id;结果为:二、左连接(左外链接)(left join/left outer join):select * from a_table a left join b_table b on a.a_id = b.b_id;结果为:说明:左连接/原创 2020-07-20 11:59:04 · 656 阅读 · 0 评论 -
MySQL(九)--关于分库分表带来的问题
MySQL(九)–关于分库分表带来的问题分库分表能有效的缓解单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。下面将描述这些技术挑战以及对应的解决思路。1、事务一致性问题:分布式事务:当更新内容同时分布在不同库中,不可避免会带来跨库事务问题。跨分片事务也是分布式事务,没有简单的方案,一般可使用"XA协议"和"两阶段提交"处理。分布式事务能最大限度保证了数据库操作的原子性。但在提交事务时需要协调多个节点,推后了提交事务的时间点,延长了事务的执行时间。导致事务原创 2020-07-20 11:01:36 · 802 阅读 · 0 评论 -
MySQL(八)--关于分库分表
MySQL(八)–关于分库分表一.为什么要分库分表?我们的数据库数据越来越大,随之而来的是单个表中数据太多,以至于查询速度过慢,而且由于表的锁机制导致应用操作也受到严重影响,出现数据库性能瓶颈。MySQL中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操纵。但出现这种情况时,我们可以考虑分表或者分区。分库分表是两个不同的概念,分表是为了避免单表的数据量太大,执行S原创 2020-07-20 10:17:57 · 518 阅读 · 0 评论 -
MySQL(七)--关于慢查询
MySQL(七)–关于慢查询MySQL服务器处理查询请求的整个过程:客户端发送SQL强求给服务器服务器检查是否可以在查询缓存中命中该SQL服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划根据执行计划,调用存储引擎API来查询数据将结果返回给客户端查询性能低下最基本的原因是访问的数据太多。一,如何优化慢查询?1,首先开启慢查询日志:如:long_query_time(多长时间视为慢查询)slow_query_log(是否开启了慢查询日志,off表示未开启)slow_qu原创 2020-07-19 22:08:09 · 5554 阅读 · 0 评论 -
MySQL(六)--MySQL两种引擎的索引实现
MySQL(六)–MySQL两种引擎的索引实现InnoDB和MyISAM的特点及区别:InnoDB:支持事务操作(并且实现了SQL标准的四种隔离级别)支持行级锁(查询速度快)和表级索不支持全文索引(没有保存表的行数)是聚簇索引(因为索引文件和数据哎同一个文件下)是数据库默认的存储引擎MyISAM:不支持事务不支持行级锁和外键若表建立时指定存储引擎是MyISAM,则生成表时会生成3个文件:.frm文件存储表定义.MYI文件存储索引文件.MYD文件存储数据表中的数据是非原创 2020-07-19 18:51:49 · 544 阅读 · 0 评论 -
MySQL(五)--聚簇索引与非聚簇索引
MySQL(五)–聚簇索引与非聚簇索引聚簇索引:聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。当表有聚簇索引时,它的数据行实际上存放在索引的叶子节点中。聚簇表示数据行和相邻的键值紧凑地存储在一起。因为无法同时把数据行存放在两个不同的地方,所以,一个表只能有一个聚簇索引。因为是存储引擎负责实现索引,,因此不是所有的存储引擎都支持聚簇索引。平时习惯逛图书馆的童鞋可能比较清楚,如果你要去图书馆借一本书,最开始是去电脑里面查书名然后根据书名来定位藏书在那个区,哪个书柜,哪一行,第多少本。。。清晰原创 2020-07-19 16:36:28 · 1177 阅读 · 0 评论 -
MySQL(四)--索引的数据结构及底层原理
MySQL(四)–索引的数据结构及底层原理一、索引用什么数据结构,为什么用B+?索引是存在于索引文件中,是存在于磁盘中的。因为索引通常是很大的,因此无法一次将全部索引加载到内存中,因此每次只能从磁盘中读取一个磁盘页的数据到内存中。但“平衡二叉树(也就是红黑树)”指的是逻辑结构上的平衡二叉树,其物理实现是数组。然后由于逻辑上相近的节点在物理结构上可能会差很远。因此,每次读取的磁盘页的数据有许多是用不上的,所以查找过程中要进行许多次的磁盘读取操作。所以,平衡二叉树是不适合作为索引结构的。局部性原理与磁盘原创 2020-07-18 13:31:02 · 399 阅读 · 0 评论 -
MySQL(三)--关于索引的一些
MySQL(三)–关于索引的一些1,什么是索引?“索引”是为了能够更快地查询数据。比如一本书的目录,就是这本书的内容的索引,读者可以通过在目录中快速查找自己想要的内容,然后根据页码去找到具体的章节。数据库也是一样,如果查询语句使用到了索引,会先去索引里面查询,取得数据所在行的物理地址,进而访问数据。2,索引的优缺点:优势:以快速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序;劣势:索引本身也是表,因此会占用存储空间。索引的维护和创建需要时间成本,这个成本随着数据量增大原创 2020-07-18 10:40:47 · 230 阅读 · 0 评论 -
MySQL(二)--关于数据库中的一些锁
MySQL(二)–关于数据库中的一些锁1,数据库中的乐观锁和悲观锁:悲观锁的实现:往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则即使在本系统中实现了加锁的机制,也无法保证外部系统不会修改数据。)乐观锁:==>大多数是基于数据版本(version)记录机制来实现。就是给数据增加一个版本标识,每次更新吧这个字段+1,读取数据的时候把version读出来,更新的时候比较version,若还是开始读取的version就可以更新了,若现在的version比之前读原创 2020-07-16 22:08:41 · 169 阅读 · 0 评论 -
MySQL(一)--ACID四大特性以及隔离级别
MySQL(一)–ACID四大特性以及隔离级别如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态原创 2020-07-16 21:04:25 · 866 阅读 · 0 评论
分享