![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Deapou
这个作者很懒,什么都没留下…
展开
-
数据库--行锁
行锁:偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度最高。InnoDB与MyISAM有两个最大的不同的特点:支持事务采用行级锁事务具有四个属性–ACID原子性:要么全执行,要么一个都不执行一致性:在事务开始和完成时,数据都必须保持一致隔离性:事务执行过程是独立的,不受外部条件影响的持久性:事务完成之后,他对数据的修改是永久的...原创 2020-03-18 00:06:55 · 281 阅读 · 0 评论 -
数据库--表锁
分类:表锁行锁页锁表锁:偏向myisam存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最大,并发率最低。建立一个实例:建表CREATE TABLE mylock(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20))ENGINE=MYISAM;然后插入几个数据:INSERT INT...原创 2020-03-18 00:03:04 · 171 阅读 · 0 评论 -
数据库--Show Profile
含义:是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL语句的调优测量。默认情况下,这个功能是关闭的,并且保持15运行结果。分析步骤:查看当前MySQL版本是否支持SHOW VARIABLES LIKE 'profiling';开启这个功能:SET profiling=ON;测试一下,运行一下SQL随便什么SQL都行查看profi...原创 2020-03-17 23:59:17 · 111 阅读 · 0 评论 -
数据库--函数和存储,批量插入数据脚本
自定义函数与存储过程之间存在几点区别:自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;而存储过程可以拥有输出参数。自定义函数中必须包含一条 RETURN 语句,而这条特殊的 SQL 语句不允许包含于存储过程中。可以直接对自定义函数进行调用而不需要使用 CALL 语句,而对存储过程的调用需要使用 CALL 语句。建立表1CREATE TABLE dept(Id INT...原创 2020-03-17 23:56:29 · 187 阅读 · 0 评论 -
数据库--慢查询日志
引言:MYSQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL响应时间超过阈值的语句。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。Long_queru_time默认的时间是10,单位为秒。由他来查看那些SQL超出我们最大忍耐时间值,如何操作这个功能:默认MySQL是不开启这个慢查询功能的,因为会或多或少消耗资源。首先先查看是否已...原创 2020-03-17 23:48:57 · 530 阅读 · 0 评论 -
数据库--单表优化案例
首先创建数据表:CREATE TABLE IF NOT EXISTS article(-> id int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,-> author_id INT(10) UNSIGNED NOT NULL,-> category_id INT(10) UNSIGNED NOT NULL,->...原创 2020-03-17 23:43:48 · 103 阅读 · 0 评论 -
数据库--性能分析
MySQL query optimizer:MySQL中有专门优化select语句的优化模块,主要功能是:通过计算分析系统中收集到的统计信息,为客户端请求的query提供“它”认为最优的执行计划,(它认为最优的数据检索方式,但不认为是DBA认为最优的,这部分最耗时间)当客户端像MySQL请求一条query的时候,命令解析器模块完成请求分类,区别出是SELECT并转发给MySQL query ...原创 2020-03-17 23:38:02 · 782 阅读 · 0 评论 -
数据库--索引结构
BTree结构:初始化介绍一个B+树,浅蓝色的块,我们称之为一个磁盘块。可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示)。真实的数据都藏在叶子节点中,非叶子节点只存储指引搜索方向的数据项。结构种类Hash结构FULL-TEXT结构R-Tree结构那些情况需要创建索引:1)主键自动建立唯一索引2)频繁作为查询条件的字段3)查询中与其他表关联的字段,外键关系建立...原创 2020-03-17 23:26:50 · 105 阅读 · 0 评论 -
数据库--索引
1. 什么是索引:MySQL官方对索引的解释是:帮助MySQL高效获取数据的数据结构。所以索引的主要功能是:查找和排序。直接影响WHERE 和 ORDER BY 的效率。2. 什么样的结构呢?在数据之外,数据库还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据。这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。3. 索引的特点索引占据空间很大...原创 2020-03-17 23:23:25 · 158 阅读 · 0 评论 -
数据库--SQL的执行顺序
SQL的执行顺序:手写(就是我们写SQL语句的顺序)一般如下所示:机器(sql服务器理解SQL语句)的顺序:总结JOIN图:因为这些图都是取自阿里云教程的视频,所以后面有些本来事一张图的因为视频原因,不能是一整张。...原创 2020-03-17 23:17:40 · 228 阅读 · 0 评论 -
数据库--存储引擎
查看mysql提供的存储引擎当前默认的存储引擎:MyISAM个InnoDB的区别阿里与淘宝使用数据库原创 2020-03-17 23:13:38 · 98 阅读 · 0 评论 -
数据库--MySQL逻辑框架简介
引言:和其他的数据库相比,MySQL有点与众不同,他的框架可以在多种场景中应用并发挥良好的作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。从上到下有以下四层:第一层:连接层最上层的是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似tcp/ip...原创 2020-03-17 23:11:41 · 282 阅读 · 0 评论 -
数据库--多表查询
多表查询分为以下三种方式:合并结果集连接查询子查询合并结果集:·要求被合并的表(结果集)中,列的类型和列数相同·UNION,去除重复行·UNION ALL,不去除重复行实例:SELECT * FROM 表1UNION ALLSELECT *FROM 表2;连接查询:分类·内连接·外连接----左外连接----右外连接----全外连接(mysql不支持...原创 2020-02-07 19:37:16 · 3527 阅读 · 0 评论 -
数据库--主键与外键
主键主键的特点:·非空·唯一·被引用–外键操作主键的四种种方法:1)创建表时指定主键:CREATE TABLE 表名(列名 类型 PRIMARY KEY);2)在后面添加:CREATE TABLE 表名( 列名 类型, PRIMARY KEY(列名) );3)在表创建后添加主键:ALTER TABLE 表名 ADD PRIMARY KEY(列名);4...原创 2020-02-07 19:07:39 · 2053 阅读 · 0 评论 -
数据库--MySQL修改密码
方法一:SET PASSWORD FOR root@localhost = password('123456');方法二:不用先登入,直接在命令行窗口输入:mysqladmin -u用户名 -p旧密码 password 新密码方法三:首先登入mysqlUSE MYSQL;UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER...原创 2020-02-07 18:49:22 · 161 阅读 · 0 评论 -
数据库--备份与恢复
1. 数据库备份-导出SQL脚本:mysqldump -u用户名 -p密码 要备份的数据库名称>生成的脚本文件路径/名称例如:```sqlmysqldump -uroot -p123 winter_exercise>C:/test/winter_exercise.sql```如图所示,在指定文件夹找到备份文件。2. 执行SQL脚本-恢复备份的sql文件mysq...原创 2020-02-07 18:46:01 · 132 阅读 · 0 评论 -
数据库--MySQL的编码问题
查看当前数据的编码SHOW VARIABLES LIKE 'char%';就会得到如下的结果:如图所示:第一编码character_set_client 就是数据库系统将用户书写的信息存起来使用的编码,即用户操作中使用的编码。第五个编码:character_set_results 就是数据库系统发送数据给 用户的编码方式,就服务器使用的编码方式更改数据库编码方式:SET char...原创 2020-02-07 18:37:46 · 144 阅读 · 0 评论 -
数据库--SQL的四大类型
DDL查看所有数据库:show databases切换:USE 数据库名创建数据库:CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARSET=UTF8]; 中括号表示可选内容,可以是语句更加细腻,但是写语句的时候不能把中括号写上去删除数据库:DROP DATABASE [IF EXISTS] 数据库名修改数据库编码:ALTER DATABASE 数据库名...原创 2020-02-06 19:25:15 · 1455 阅读 · 0 评论 -
数据库--数据库基础
数据库概述什么是SQL:结构化查询语言(Structtured Query Language)SQL的作用:启动mysql.exe,连接服务器后,就可以使用sql来操作服务器了。类似php中操作mysql的语句就是sql语句SQL标准:由国际标准化组织(ISO)制定的,对DBMS(数据库管理系统)的统一操作方式,如SQL99SQL方言某种DBMS不止会支持SQL标准,而且还会有一...原创 2020-02-06 18:37:39 · 162 阅读 · 0 评论 -
数据库--数据库的种类
数据库种类比较流行的数据库模型有三种,分别是层次式数据库网络式数据库关系型数据库最常用的数据库模型有两种,即关系型数据库和非关系型数据库NOSQL。关系型数据库关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上。通过对这些关联的表格分类、合并、链接或选取等运算来实现数据的管理。关系型数据库的...原创 2020-02-06 18:29:06 · 550 阅读 · 0 评论