
数据库
zdplife
千里之行始于足下,一步一个脚印,终会成功
展开
-
数据库-三大设计范式(概念、三大范式的理解)
(1)概念: 设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(...原创 2015-08-30 15:40:48 · 2819 阅读 · 0 评论 -
InnoDB 存储引擎之关键特性
最近在学习《Mysql技术内幕:InnoDB 存储引擎》一书,将第二章关于 InndoDB 存储引擎的概述及相关特性总结如下:简介InnoDB 存储引擎支持事务,其特点是行锁设计,支持事务,支持非锁定读。5.5.8 版本开始,InnoDB 是 mysql 默认的存储引擎。InnoDB 使用多版本并发控制(MVCC)来获得并发性。InnoDB 实现了 SQL 的四种隔离级别,默认是 RE...原创 2019-04-27 13:41:13 · 981 阅读 · 0 评论 -
InnoDB 存储引擎之文件分类
学习《mysql 技术内幕:InnoDB 存储引擎》 第三章关于数据库文件以及 innodb 存储引擎相关文件介绍,学习心得总结如下:mysql 文件主要包括参数文件,日志文件,socket 文件,pid文件,表结构文件,存储引擎文件。参数文件mysql 启动时会读取配置参数文件,如果找不到文件,会使用默认值和源代码中指定参数的默认值。查看参数的两种方式:show variables...原创 2019-04-29 10:23:04 · 467 阅读 · 0 评论 -
InnoDB 存储引擎之表存储
本文主要是针对《Mysql技术内幕:InnoDB 存储引擎》一书中第三章关于表相关概念的概括和总结,主要包括组织索引表,InnoDB 逻辑存储结构,InnoDB 行记录格式,InnoDB 数据页结构,表相关的约束问题,视图,表分区。一、索引组织表索引组织表是指按照主键的顺序组织存放数据的表,InnoDB 存储引擎创建的表都是索引组织表。InnoDB 主键定义规则如下:如果定义表时,显式指定...原创 2019-05-11 10:26:40 · 977 阅读 · 0 评论 -
InnoDB 存储引擎之锁
本文主要是针对《Mysql技术内幕:InnoDB 存储引擎》一书中第六章关于 InnoDB 存储引擎中锁的学习总结。锁是数据库系统区别于文件系统的一个关键特性,为了支持对共享资源的并发访问,提供数据的完整性和一致性,我们必须为数据加锁,InnoDB 提供了一致性非锁定读、行级锁的支持。共享锁(S Lock)和排他锁(X Lock)共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据...原创 2019-05-25 16:07:38 · 165 阅读 · 0 评论 -
InnoDB 存储引擎之索引和算法
本文主要是针对《Mysql技术内幕:InnoDB 存储引擎》一书中第五章关于 InnoDB 存储引擎的索引和算法的学习总结。InnoDB 主要支持以下几种常见的索引:B+ 树索引,哈希索引,全文索引。一、B+ 树索引B+ 树索引的特点B+ 树是为磁盘或者存取辅助设备设计的一种平衡查找树。在 B+ 树中所有记录节点都是按照键值大小存放在同一层叶子节点上,并且各个叶子节点通过指针相连。B...原创 2019-05-12 22:46:48 · 233 阅读 · 0 评论 -
InnoDB 存储引擎之事务
本文主要是针对《Mysql技术内幕:InnoDB 存储引擎》一书中第七章关于 InnoDB 存储引擎中事务的学习总结。事务是访问并更新数据库各种数据项的一个程序执行单元,是数据库区别于文件系统的重要特性之一。事务的 ACID 特性理论上,事务必须满足 ACID 特性,才算严格的定义,其中对于 InnoDB 存储引擎来说,其默认事务隔离级别为 READ REPEATABLE,完全遵循和满足事务...原创 2019-05-26 14:27:05 · 254 阅读 · 0 评论 -
记一次关于 Mysql 中 text 类型和索引问题引起的慢查询的定位及优化
最近有用户反馈产品有些页面加载比较慢,刚好我在学习 Mysql 相关知识,所以先从 Mysql 慢查询日志开始定位:step1:通过慢查询日志定位具体 SQL首先通过 SHOW VARIABLES like 查看当前 Mysql 服务器关于慢查询的具体配置信息:slow_query_log = ON # 慢查询日志处于开启状态,所以可以直接查询slow_q...原创 2019-07-04 12:49:42 · 14987 阅读 · 5 评论 -
学习如何统计 Mysql 服务器状态信息
最近在看《高性能的 Mysql》一书,下面是关于如何学习统计 Mysql 服务器状态的学习总结,主要是学习使用 SHOW STATUS,SHOW ENGINE INNODB STATUS,SHOW PROCESSLIST 三个命令。命令一:SHOW STATUSshow status 命令用于查询 Mysql 状态变量相关统计信息通过 show status like 查看部分变量这些状...原创 2019-06-30 11:03:33 · 537 阅读 · 0 评论 -
你需要掌握的 mysql 性能优化的一些要点
缓存优化大多数的MySQL服务器都开启了查询缓存,当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了// 如果在sql语句中直接使用一些动态的函数查询缓存不开启$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");...原创 2019-02-26 19:18:18 · 322 阅读 · 0 评论 -
数据库-存储过程(概念、优缺点、分类)
(1)概念: ① 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库 中。 ② 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它。 ③ 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。 ④ 存储过程可由应用程序通原创 2015-08-28 16:39:40 · 8016 阅读 · 0 评论 -
数据库--事务(定义、基本特征、并发问题)
(1)定义:事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些 操作要么都执行,要么都不执行,它是一个不可分割的工作单位。所以,事务是数据库 维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。(2)事务是DBMS的基本单位,是构成单一逻辑工作单元的操作集合(3)事务的四个基本特征:① Atomic(原子性):事务中包含的操作被看做一个逻原创 2015-08-27 19:03:11 · 4021 阅读 · 1 评论 -
数据库-触发器(定义、作用、使用方法、new/old虚拟表)
(1)触发器定义: 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。(2)触发器的作用: 1.安全性。可以基于数据库的值使用户具有操作数据库的某种权利。 2.审计。可以跟踪用户对数据库的操作。 3.实现复杂的数据完整性规则 # 实现非标准的数据完整性检查和约束。触原创 2015-09-01 11:17:57 · 12744 阅读 · 1 评论 -
数据库-数据模型(分类、三要素、概念)
(1)数据模型的分类:最常用的数据模型是概念数据模型和结构数据模型: ①概念数据模型(信息模型):面向用户的,按照用户的观点进行建模,典型代表:E-R图 ②结构数据模型:面向计算机系统的,用于DBMS的实现,典型代表有:层次模型,网状模型、关系模型,面向 对象模型(2)数据模型的三要素: 数据结构、数据操作、数据约束。(3)E-R图(实体-联系图方法):原创 2015-08-28 15:43:47 · 64139 阅读 · 1 评论 -
数据库-关系代数(类型、完整性约束、基本运算、扩展运算)
(1)基本概念 ① 属性和域: 每个事物有很多属性,每个属性对应的取值范围叫做域,所有对域都是原子数据(第一范式) ② 相关名词 n元关系:R(D1,D2,D3...Dn)是n元关系,其中关系属性的个数称为“元数”,元组的个数称为“基 数”,也就是记录值。 候选码:若关系中某一个属性或者属性组的值可以唯一的标识一个元组,则称为候选码 主码:可原创 2015-08-28 21:41:10 · 10677 阅读 · 1 评论 -
数据库-锁(概念、分类、粒度)
(1)概念: 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据原创 2015-08-27 21:26:59 · 26038 阅读 · 4 评论 -
数据库-索引(概念,优缺点,分类)
(1)索引概念:索引是由用户创建,能够被修改和删除的,实际存储在数据库中的物理存在,它是某一个表中一列或者若干列值的集合和相应的指向表中物理标志这些值的数据页的逻辑指针清单。(2)索引的优点:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完原创 2015-08-27 20:08:32 · 5423 阅读 · 0 评论 -
数据库-视图(概念、优点、使用规则和限制、视图和基本表的区别)
(1)定义和概念 ① 从一个或几个基本表中根据用户需要而做成一个虚表 ② 视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据 ③ 视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户(2)视图的优点 ① 能分割数据,简化观点。可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户原创 2015-08-29 22:34:02 · 6828 阅读 · 0 评论 -
使用 explain 优化你的 mysql 性能
本文是关于在学习《高性能 Mysql》附录 D 中关于 Explain 如何获取执行计划信息相关总结。MySQL 提供了一个 EXPLAIN 命令,它可以对 SELECT 语句进行分析,获取优化器对当前查询的执行计划,以供开发人员针对相关 SQL 进行优化。在 SELECT 语句前加上 Explain 就可以查看到相关信息, 例如:EXPLAIN SELECT * from user_info ...原创 2019-06-30 15:32:54 · 239 阅读 · 0 评论