数据库
文章平均质量分 50
二二牧人
嵌入式软件工程师
展开
-
数据库高级知识——主从复制
文章目录1.复制的基本原理1.1 复制的原理和步骤2.复制的基本原则3.复制的最大问题4.一主一从常见配置4.1 主机修改my.ini配置文件4.2 从机修改my.cnf配置文件4.3 重启和关闭防火墙4.4 在Windows主机上建立帐户并授权slave4.5 在Linux从机上配置需要复制的主机4.6 关闭 1.复制的基本原理 slave会从master读取binlog来进行数据同步 1.1 复制的原理和步骤 MySQL复制过程分成三步: 1 master将改变记录到二进制日志(binary lo原创 2021-06-07 16:29:14 · 89 阅读 · 0 评论 -
数据库高级知识——MySql锁机制
文章目录1.概述1.1 定义1.2 锁的分类2.三锁2.1 表锁(偏读)2.2 行锁(偏写)2.3 页锁 1.概述 1.1 定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。 如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题, 锁冲突也是影响数据库并发访问性能的一个重要因素。 从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 1.2 锁的分类 从对数据操作的原创 2021-06-07 16:08:14 · 146 阅读 · 0 评论 -
数据库高级知识——查询截取分析(二)
文章目录3.Show Profile3.1 show profile是什么3.2 分析步骤4.全局查询日志4.1配置启用4.2编码启用 3.Show Profile 3.1 show profile是什么 show profile是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量 默认情况下,参数处于关闭状态,并保存最近15次的运行结果 官网 3.2 分析步骤 1.是否支持,看看当前的mysql版本是否支持 mysql> Show variables like原创 2021-06-01 15:38:45 · 101 阅读 · 0 评论 -
数据库高级知识——查询截取分析(一)
文章目录1.慢查询日志1.1 慢查询日志是什么1.2 慢查询日志的操作1.3 日志分析工具mysqldumpslow2.批量数据脚本 1.慢查询日志 1.1 慢查询日志是什么 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句, 具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 long_query_time的默认值为10,意思是原创 2021-06-01 15:20:10 · 127 阅读 · 0 评论 -
数据库高级知识——索引优化分析(二)
文章目录4.性能分析4.1 MySQL常见瓶颈4.2 Explain5.查询优化5.1 索引失效5.2 索引优化 4.性能分析 4.1 MySQL常见瓶颈 CPU :SQL中对大量数据进行比较、关联、排序、分组 IO:实例内存满足不了缓存数据或排序等需要,导致产生大量 物理 IO。查询执行效率低,扫描过多数据行。 锁:不适宜的锁的设置,导致线程阻塞,性能下降。死锁,线程之间交叉调用资源,导致死锁,程序卡住。 服务器硬件的性能瓶颈:top,free, iostat和vmstat来查看系统的性能状态 4.2原创 2021-06-01 13:48:23 · 112 阅读 · 0 评论 -
数据库高级知识——索引优化分析(一)
文章目录1.SQL性能下降原因2.常见通用的Join查询2.1 SQL执行顺序2.2 Join图3.索引简介3.1 索引是什么3.2 索引优势3.3 索引劣势3.4 索引分类3.5 mysql索引结构3.6 哪些情况需要创建索引 1.SQL性能下降原因 查询数据过多 能不能拆,条件过滤尽量少 关联了太多的表,太多join join 原理。用 A 表的每一条数据 扫描 B表的所有数据。所以尽量先过滤。 没有利用到索引 索引针对 列 建索引。但并不可能每一列都建索引 索引并非越多越好。当数据更新了,索引会原创 2021-05-31 15:17:31 · 136 阅读 · 0 评论 -
数据库高级知识——mysql架构介绍(二)
文章目录1.Mysql逻辑架构介绍1.1 总体概览1.2 查询说明2.Mysql存储引擎2.1 查看命令2.2 各个引擎简介2.3 MyISAM和InnoDB2.4 阿里巴巴、淘宝用哪个 1.Mysql逻辑架构介绍 1.1 总体概览 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。 主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。 这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 1.连接层 最上层是转载 2021-05-28 16:06:10 · 92 阅读 · 0 评论 -
数据库高级知识——mysql架构介绍(一)
文章目录1.MySQL简介1.1 概述1.2 Mysql高级2.Mysql Linux版的安装2.1 下载地址2.2 检查工作2.3 安装与卸载2.4 查看MySQL安装版本2.5 mysql服务的启+停2.6 登录mysql 1.MySQL简介 1.1 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 Mysql是开源的,原创 2021-05-28 15:20:09 · 370 阅读 · 1 评论 -
数据库基础知识——流程控制结构
文章目录1.分支1.1 if函数1.2 case语句1.3 if elseif语句2. 循环 1.分支 1.1 if函数 语法:if(条件,值1,值2) 特点:可以用在任何位置 1.2 case语句 语法: 情况一:类似于switch case 表达式 when 值1 then 结果1或语句1(如果是语句,需要加分号) when 值2 then 结果2或语句2(如果是语句,需要加分号) ... else 结果n或语句n(如果是语句,需要加分号) end 【case】(如果是放在begin end中需要加原创 2021-05-26 15:28:12 · 101 阅读 · 0 评论 -
数据库基础知识——存储过程和函数
文章目录1.存储过程1.1 创建存储过程1.2 调用存储过程1.3 删除存储过程1.4 查看存储过程2.函数2.1 创建函数2.2 调用函数2.3 函数的删除和查看2.4 函数和存储过程的区别 1.存储过程 含义:一组经过预先编译的sql语句的集合 好处: 1、提高了sql语句的重用性,减少了开发程序员的压力 2、提高了效率 3、减少了传输次数 分类: 1、无返回无参 2、仅仅带in类型,无返回有参 3、仅仅带out类型,有返回无参 4、既带in又带out,有返回有参 5、带inout,有返回有参 注意:原创 2021-05-26 14:38:50 · 221 阅读 · 0 评论 -
数据库基础知识——变量
1.系统变量 1.1 全局变量 作用域:针对于所有会话(连接)有效,但不能跨重启 查看所有全局变量 SHOW GLOBAL VARIABLES; 查看满足条件的部分系统变量 SHOW GLOBAL VARIABLES LIKE '%char%'; 查看指定的系统变量的值 SELECT @@global.autocommit; 为某个系统变量赋值 SET @@global.autocommit=0; SET GLOBAL autocommit=0; 1.2 会话变量 作用域:针对于当前会话(连接)有效原创 2021-05-23 17:09:56 · 745 阅读 · 0 评论 -
数据库基础知识——视图
视图 含义:理解成一张虚拟的表 视图和表的区别: 使用方式 占用物理空间 视图 完全相同 不占用,仅仅保存的是sql逻辑 表 完全相同 占用 视图的好处: 1、sql语句提高重用性,效率高 2、和表实现了分离,提高了安全性 1. 视图的创建 语法: CREATE VIEW 视图名 AS 查询语句; create view myview as select last_name,department_name,job_title from employees join departments on转载 2021-05-23 16:39:51 · 402 阅读 · 0 评论 -
数据库基础知识——TCL语言
1.TCL含义 TCL,事务控制语言。通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态,即要么全部成功,要么全部失败。 2.特点 (ACID) 原子性(atomicity):要么都执行,要么都回滚 一致性(consistency):保证数据的状态操作前和操作后保持一致 隔离性(lsolation):多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰 持久性(durability):一个事务一旦提交,则数据将持久化到本地,除非其他事务对其进行修转载 2021-05-23 16:21:03 · 926 阅读 · 0 评论 -
数据库基础知识——DDL语言
1.库的管理: 一、创建库 create database 库名 #创建一个books库 create database books 二、删除库 drop database 库名 三、修改库 rename database 旧库名 to 新库名 2.表的管理: #1.创建表 CREATE TABLE IF NOT EXISTS stuinfo( stuId INT, stuName VARCHAR(20), gender CHAR, bornDate DATETIME ); DESC s原创 2021-05-21 17:37:15 · 199 阅读 · 2 评论 -
数据库基础知识——DML语言
文章目录1.插入2.修改3.删除 1.插入 语法: insert into 表名(字段名,...) values(值1,...); 特点: 1、字段类型和值类型一致或兼容,而且一一对应 2、可以为空的字段,可以不用插入值,或用null填充 3、不可以为空的字段,必须插入值 4、字段个数和值的个数必须一致 5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致 insert into boys(id,boyName,userCP) value(5,"杨过",89); 2.修改 修改单表语法: u转载 2021-05-17 21:09:17 · 114 阅读 · 0 评论 -
数据库基础知识——DQL语言(二)
文章目录1.多表连接查询1.1 传统模式下的连接 :等值连接——非等值连接1.2 sql99语法:通过join关键字实现连接1.3 自连接 1.多表连接查询 笛卡尔乘积:表1,有m行;表2,有n行,如果连接条件省略或无效,则结果=m*n; 解决办法:添加上连接条件 1.1 传统模式下的连接 :等值连接——非等值连接 1.等值连接的结果 = 多个表的交集 2.n表连接,至少需要n-1个连接条件 3.多个表不分主次,没有顺序要求 4.一般为表起别名,提高阅读性和性能 #将beauty表中的女生和boys表中原创 2021-05-14 20:29:30 · 85 阅读 · 0 评论 -
数据库基础知识——DQL语言(一)
文章目录1.基础查询2.条件查询3.排序查询4.常见函数 1.基础查询 语法: SELECT 要查询的东西 【FROM 表名】; #查询employees表中所有字段 select * from employees; #查询employees表中的first_name字段 select first_name from employees; #查询employees表中的多个字段 select first_name,salary FROM employees; #查询常量值 select 100+12原创 2021-05-05 19:33:34 · 165 阅读 · 0 评论 -
数据库基础知识——初始MySQL
文章目录1.MySQL服务的启动和停止2.MySQL服务的登录和退出3.MySQL的常见命令3.MySQL的语法规范4.SQL的语言分类 1.MySQL服务的启动和停止 方式一:计算机——右击管理——服务 方式二:通过管理员身份运行 net start 服务名(启动服务) net stop 服务名(停止服务) 2.MySQL服务的登录和退出 方式一:通过mysql自带的客户端 只限于root用户 方式二:通过windows自带的客户端 登录: mysql 【-h主机名 -P端口号 】-u用户名 -p密码转载 2021-04-28 15:42:50 · 122 阅读 · 0 评论 -
数据库基础知识——数据库的相关概念
文章目录1.数据库的好处2.数据库相关概念3.数据库存储数据的特点 1.数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 2.数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言 3.数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 3、表具有一些特性,这些原创 2021-04-28 14:48:46 · 105 阅读 · 0 评论 -
数据库基础知识——MySQL服务的启动和停止
文章目录1.数据库的启动1.1 从计算机管理启动1.2 从cmd启动2.数据库的停止1.1 从计算机管理停止1.2 从cmd停止 \qquad 在登录数据库之前,必须保证数据库已经启动。数据库的启动和停止有两种方式:从计算机管理启动和停止和从cmd启动和停止。 1.数据库的启动 1.1 从计算机管理启动 \qquad环境:windows10 \qquad此电脑右击 ⇒\Rightarrow⇒ 管理 ⇒\Rightarrow⇒ 计算机管理(本地) ⇒\Rightarrow⇒ 服务和应用程序双击 ⇒\Right原创 2020-11-18 11:33:03 · 258 阅读 · 0 评论