跳至主要內容
MySQL

1、说一说三大范式

  • 「第一范式」:数据库中的字段具有**「原子性」**,不可再分,并且是单一职责
  • 「第二范式」「建立在第一范式的基础上」,第二范式要求数据库表中的每个实例或行必须**「可以被惟一地区分」**。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主键
  • 「第三范式」「建立在第一,第二范式的基础上」,确保每列都和主键列直接相关,而不是间接相关不存在其他表的非主键信息

代码小郭...大约 10 分钟技术题库MySQL
MYSQL性能分析思路

一、前言

MySQL的SQL性能分析是一个专业的JAVA开发人员无法逃避的知识,不管是面试还是在软件实际生产环境中,了解MySQL的SQL性能分析是非常重要的。

小郭对常见的MySQL性能分析排查思路进行了一个小结,分享给大家。

MySQL性能分析的水很深,本文也只是粗略介绍一些概念和方法,大家有补充的可以在评论区讨论一下哦!

二、测试数据准备工作

1)创建测试表

DROP TABLE IF EXISTS user_info;

CREATE TABLE `user_info` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `user_id` INT NOT NULL ,
    `name` VARCHAR(20) DEFAULT NULL,
    `company_id` INT(11) DEFAULT NULL,
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

代码小郭...大约 23 分钟数据库MySQL
MySQL索引概念详解

本文基于InnoDB存储引擎来介绍索引的相关知识

一、前置知识

在学习索引前需要提前了解的知识

1、页

1)概念 页是InnoDB存储数据记录的基本单位,也是数据库IO操作的最小单位,页的大小默认是16KB,一个页中存放了多条数据记录。

InnoDB将数据划分为若干个页存放到磁盘上,并且以作为磁盘和内存之间交互的基本单位,也就是说一次IO操作最少会从磁盘中读取16KB的内容到内存中,一次最少会把内存中的16KB内容刷新到磁盘中。从使用角度来说,在InnoDB引擎环境下,不论是读取一行还是多行记录,都是将这些数据记录所在的页进行加载


代码小郭...大约 26 分钟数据库MySQL
MYSQL设计规约

整理:代码小郭 原作者:修冶 阿里云开发者,戳 原文链接

一、前言

在我们对数据库技术方案设计的时候,我们是否有自己的设计理念或者原则,还是更多的依据自己的直觉去设计,是否曾经懊悔线上发生过的一次低级故障,可能稍微注意点就可以避免,是否想过怎么才能很好的避免,下面规范的价值正是我们工作的检查清单,需要我们不断从错误中积累有效经验来指导未来的工作。以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。先介绍的是安全规范,因为安全无小事,很多公司都曾经因为自己的数据泄露导致用户的惨痛损失,所以将安全规范放到了第一位。


代码小郭...大约 21 分钟数据库MySQL
MYSQL知识点大全

官方文档https://www.mysql.com/cn/products/community/

本篇默认读者已有SQL基础知识储备

一、概述

MySQL 是当下最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 可以说是最流行的技术。选择 MySQL 数据库已是既成事实,绝大多数使用 Linux 操作系统的互联网网站都在使用 MySQL 作为其后端的数据库存储方式,从大型的 BAT 门户到电商平台、分类门户等无一例外。


代码小郭...大约 51 分钟数据库MySQL