![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 93
想出家的霸天虎
道阻且长,行则将至...
展开
-
数据库设计三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该...原创 2018-07-01 12:00:00 · 992 阅读 · 0 评论 -
SQL语法顺序和执行顺序
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。语法顺序:1.select 2.from 3.where 4.group by...原创 2018-07-01 12:13:00 · 269 阅读 · 0 评论 -
mysql
1. 主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。外 键...原创 2018-07-03 22:26:00 · 170 阅读 · 0 评论 -
实验帖--MyISAM和InnoDB执行count()效率对比
众所周知,mysql用的最多的引擎就两个:MyISAM和InnoDB。InnoDB有很多MyISAM没有的东西,如支持事务、支持行锁、支持MVCC…但是MyISAM在执行count()的时候是真的快,这时候的InnoDB简直就是个弟弟。对比如下:表数据量350w+将数据表引擎切换为InnoDB,花费102s左右InnoDB执行不带条件count(),第一次花费28s左右,之后平均...原创 2019-12-13 17:42:19 · 3789 阅读 · 0 评论 -
从B树、B+树、B*树谈MySQL索引
前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B±tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。在开始介绍B-tree之...原创 2019-11-28 17:58:02 · 22379 阅读 · 0 评论 -
数据库 锁机制 详解
**数据库锁一般可以分为两大类(乐观锁和悲观锁)**:乐观锁是指用户实现的锁机制,悲观锁一般就是我们通常说的数据库锁机制。悲观锁:顾名思义,就是很悲观的意思,认为数据随时都可能会被修改,所以每次操作之前先将数据加锁。悲观锁一般都是依靠关系数据库提供的锁机制,事实上关系数据库中的行锁,表锁不论是读锁还是写锁都是悲观锁。悲观锁–按使用性质划分一.共享锁(Share locks简记为S锁)...原创 2019-03-07 17:26:00 · 781 阅读 · 0 评论 -
MYSQL 存储时间字段类型
MYSQL时间数据类型对比MYSQL有5种表示时间值的日期和时间类型,分别为 DATE,TIME,YEAR,DATETIME,TIMESTAMP。(TIMESTAMP类型有专有的自动更新特性)如何选择?1.只需要年份,则选用 YEAR 类型2.只需要年月日,选用 DATE 类型3.对时间精度有要求(需要年月日,时分秒)IF 存储的时间不在1970-2037这个范围则选用 DATET...原创 2019-11-07 10:11:39 · 4468 阅读 · 0 评论 -
MySQL优化之——查询优化
谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。key_len列...原创 2019-07-10 17:10:03 · 1400 阅读 · 0 评论 -
MYSQL优化思路
MYSQL优化概述一、在数据库级别进行优化使数据库应用程序快速运行的最重要因素是其基本设计,在数据库层面,我们往往可以从以下几个方面下手:1.表结构合理吗?每个列是否具有正确的数据类型每个表是否具有适合工作类型的列例如,执行频繁更新的应用程序通常具有许多具有少量列的表,而分析大量数据的应用程序通常具有很少列的表。2.是否有适当的索引来提高查询效率?3.是否为每个表使用适当的存储引擎...原创 2019-08-13 18:10:57 · 442 阅读 · 0 评论 -
MYSQL索引实现原理
MySQL索引底层实现原理索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的...原创 2019-08-14 15:08:59 · 456 阅读 · 0 评论