![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 62
蹲在角落数蚂蚁
蹲在角落数蚂蚁为大家默默更新新文章
展开
-
mysql8.0新特性
1、默认字符集由latin1变为utf8mb4在5.6、5.7版本中,默认字符集均为latin1,在8.0版本中,默认字符集已经变为utf8mb42、系统表不再使用MyISAM和MEMORY执行select distinct(ENGINE) from information_schema.tables;获取当前系统表使用到的存储引擎。在5.6、5.7版本中查询结果为:MEMORY、InnoDB、MyISAM、CSV、PERFORMANCE_SCHEMA在8.0版本中查询结果为:InnoD原创 2022-02-08 17:08:39 · 2221 阅读 · 0 评论 -
mysql 进阶篇
1、说一下 MySQL 执行一条查询语句的内部执行过程?客户端先通过连接器连接到 MySQL 服务器。 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前执行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器。 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是否正确,如果查询语法错误会直接返回给客户端错误信息,如果语法正确则进入优化器。 优化器是对查询语句进行优化处理,例如一个表里面有多个索引,优化器会判别哪个索引性能更好。 优化器执行完就进入执行器,执行器就开始执原创 2022-02-08 18:04:29 · 2353 阅读 · 0 评论 -
MySQL 锁篇
1、什么是锁?MySQL 中提供了几类锁?锁是实现数据库并发控制的重要手段,可以保证数据库在多人同时操作时能够正常运行。MySQL 提供了全局锁、行级锁、表级锁。其中 InnoDB 支持表级锁和行级锁,MyISAM 只支持表级锁。 2、什么是死锁?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。 3、如何处理死锁?(1)通过 innodblockwait_timeout原创 2022-02-09 18:32:36 · 242 阅读 · 0 评论 -
MySQL 索引篇
1、什么是索引?索引是一种能帮助 MySQL 提高查询效率的数据结构。 2、索引分别有哪些优点和缺点?优点:(1)快速访问数据表中的特定信息,提高检索速度。(2)创建唯一性索引,保证数据表中每一行数据的唯一性。(3)加速表与表之间的连接。(4)使用分组和排序进行数据检索时,可以显著减少查询中分组和排序的时间。缺点:(1)虽然提高了的查询速度,但却降低了更新表的速度(2)建立索引会占用磁盘文件的索引文件。 3、以下 SQL 有什么问题?该如何...原创 2022-02-09 18:21:29 · 1727 阅读 · 0 评论 -
MySQL 视图篇
一、概述 Mysql 5.0 版本后开始引入视图。视图本身是一个虚拟表,不存放任何数据。在使用 sql 语句访问视图的时候,他返回的数据都是在查询过程中从其他表动态生成的。二、使用视图1、创建视图CREATE VIEW comic_view as SELECT comic_id,name,pen_name from comic;2、创建之后,我们就可以像使用正常数据表一样使用视图。SELECT comic_id,name,pen_name from comic_view limit原创 2022-02-09 18:58:52 · 246 阅读 · 0 评论 -
mysql 存储过程
一、概述 存储过程可以理解为一段 SQL 语句的集合(相当于 PHP 中的一个函数方法,去实现业务逻辑),它们被事先编译好并且存储在数据库中。 调用存储过程与直接执行 SQL 语句的效果是相同的,但是存储过程的一个好处是处理逻辑都封装在数据库端。 当我们调用存储过程的时候,我们不需要了解其中的处理逻辑,一旦处理逻辑发生变化,只需要修改存储过程即可,对调用它的程 序完全无影响。 调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,减少了和脚本语言的原创 2022-02-09 18:56:41 · 171 阅读 · 0 评论 -
MySQL 触发器篇
一、概述Mysql 允许通过触发器、存储过程、函数的形式来存储代码。触发器可以让你在执行 Insert、Update、Delete的时候,执行一些特定的操作。可以在Mysql中指定是在Sql语句执行之前触发还是执行后触发。二、使用触发器需要注意的点对每一个表的每一个事件,最多只能定义一个触发器(换句话说,不能在AFTER INSERT上定义两个触发器)。Mysql只支持“基于行的触发”,也就是说,触发器始终是针对一条记录的,而不是针对整个SQL语句的。所以,如果变更的数据集非常大,效率将原创 2022-02-10 17:33:35 · 706 阅读 · 0 评论 -
MySQL CAP定理及使用场景
1、什么是CAP定理CAP定理,也称CAP原则,是一个衡量系统设计的准则。指在一个分布式系统中,一致性(consistency)、可用性(availability)、分区容错性(partition tolerance)三者不可兼得,最多只可得其二。2、三个特性的具体含义一致性(C):所有节点在同一时间的数完全一致可用性(A):服务一直可用,每个请求都能接收到一个响应,无论响应成功或失败分区容错性(P):分布式系统在遇到某节点或网络分区障碍的时候,仍然能够对外提供满足一致性和可用性的服务。原创 2022-02-10 17:40:26 · 2443 阅读 · 0 评论 -
MySQL 主从复制的原理、如何实现、常见问题及解决方案
一、环境介绍LNMP(centos7,mysql5.6)vmware workstation pro配置了3个虚拟机,均安装了LNMP环境:master: 192.168.0.105slave: 192.168.0.106、192.168.0.107主从复制架构部署的原则:1、不要有太多的备库(同步binlog也是需要消耗性能的)2、一个备库实例只能有一个主库3、每一个集群库,都必须有一个唯一的服务ID(server-id) 二、原理(1)主数据库进行增...原创 2022-02-10 18:19:32 · 426 阅读 · 0 评论 -
MySQL获取并解决当前阻塞
一、概述阻塞通常由于多个线程要对同一个资源加排它锁造成的。第一个线程对某资源加了排它锁,其他线程再想对该资源加排它锁,就只能等上一个进程执行结束释放锁之后才能加排它锁,这也就导致后面的线程会一直等待,进而造成阻塞。现实中举例就是一条道路上,前车停了,后面的车也不能继续动了。 二、获取阻塞1、如果MySQL版本 <= 5.7SELECT b.trx_mysql_thread_id as '被阻塞线程', b.trx_query as '被阻塞SQL',原创 2022-02-11 16:47:49 · 1677 阅读 · 0 评论 -
数据库开发规范
重点:1、数据库不参与业务逻辑,只负责数据存储,所有运算放到程序段进行2、索引命名规范:普通索引以idx_开头,唯一索引以unq_开头,(name)字段单列索引名称:idx_name,(name)字段唯一索引名称:unq_name,(name、home)字段联合索引名称:idx_name_home(name,home)(name、home)字段联合索引名称:unq_name_home(name,home)3、所有数据表一律采用innodb引擎,memory、myisam引擎放原创 2021-04-07 12:26:37 · 1033 阅读 · 0 评论 -
SQL语句概述
3.1.SQL概述原创 2021-04-05 15:09:14 · 96 阅读 · 0 评论 -
数据库介绍
数据库分为关系型数据库和非关系型数据库原创 2021-04-05 14:04:56 · 51 阅读 · 0 评论