分类:二、数据库
-
RedisObject 数据结构
Redis类型系统 在 Redis 的命令中, 用于对键 (key) 进行处理的命令占了很大一部分, 而对于键所保存的值的类型, 键能执行的命令又各不相同. 比如说, LPUSH …
-
Redis 事务
Redis事务 Redis事务功能是通过MULTI、EXEC、DISCARD和WATCH 四个原语实现的 Redis事务的三个阶段 事务开始 MULTI 命令入队 事务执行 EXE…
-
Redis 数据类型和使用场景
一、Redis 五种数据类型和使用场景 redis 有五种数据类型,六种底层数据结构 类型 简介 场景 String(字符串) 二进制安全 — Hash(哈希) 键值对…
-
Redis 开发规范(健值设计、命令使用)
一、键值设计 1. key 名设计 【建议】: 可读性和可管理性 以业务名 (或数据库名) 为前缀 (防止 key 冲突),用冒号分隔,比如业务名: 表名:id ugc:video…
-
MySQL 字段类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 数值类型 MySQL支持所有标准SQ…
-
MySQL中utf8与utf8mb4的区别
MySQL在5.5.3版本以后增加了utf8mb4编码,其中mb4是most bytes 4的含义,用来兼容四个字节的Unicode(万国码)。utf8mb4是utf8的一个扩展。…
-
史上最接地气的水平分库方案,手把手教你如何落地
随着大型互联网应用的发展,海量数据的存储和访问成为系统设计的瓶颈,分布式处理成为不二选择。数据库拆分,特别是水平分库是个高难度的活,涉及一系列技术决策。 参考1号店订单水平分库的…
-
MySQL查询为什么没走索引?
工作中,经常遇到这样的问题,我明明在MySQL表上面加了索引,为什么执行SQL查询的时候却没有用到索引? 同一条SQL有时候查询用到了索引,有时候却没用到索引,这是咋回事? 原因可…
-
MySQL 索引潜水(Index dive)
要讲的知识点就叫索引潜水(Index dive)。 先要从一件怪事说起: 我先造点数据复现一下问题,创建一张用户表: CREATE TABLE `user` ( `id` bigi…
-
MySQL 联合索引
众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循。 创建联合索引的时候,建议优先把区分度高的字段放在第一列。 至于怎么统计区分度,可以按照下面这种方式。 创建…
-
MySQL 聚簇/联合/覆盖索引、回表、索引下推
面试官: 什么是聚簇索引和非聚簇索引? 我: 举个例子:有这么一张用户表 CREATE TABLE `user` ( `id` int COMMENT ‘主键ID’, `name`…
-
MySQL 索引数据结构:B+树、哈希索引、聚集索引和二级索引的结构分析
索引结构优劣标准:磁盘I/O次数 B树 大多数存储引擎都支持B树索引。b树通常意味着所有的值都是按顺序存储的,并且每一个叶子也到根的距离相同。B树索引能够加快访问数据的速度,因为存…
-
SQL left join-on-and 与 left join-on-where 的区别
1. 摘要 关于这两种写法的重要知识点摘要如下: left-join 时,即使有相同的查询条件,二者的查询结果集也不同,原因是优先级导致的,on 的优先级比 where 高 on-…
-
MySQL 索引类型:单列索引、全文索引、组合索引和空间索引
从逻辑的角度来对索引进行划分的话,可以分为单列索引、全文索引、组合索引和空间索引。其中单列索引又可分为主键索引、唯一索引和普通索引。这里的逻辑可以理解为从 SQL 语句的角度,或者…
-
MySQL 数据库索引
一、索引的优缺点 建立索引的优点 大大加快数据的检索速度; 创建唯一性索引,保证数据库表中每一行数据的唯一性; 加速表和表之间的连接; 在使用分组和排序子句进行数据检索时,可以显著…
-
MySQL MVCC实现原理、事务的隔离级别
1. 什么是MVCC MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写…
-
MySQL的锁这么多,不知从何学起,看完这篇文章就够了
MySQL有两个核心的知识点,索引和锁。 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。 比如: MyISAM和MEMORY存储引…
-
MySQL binlog
一、binlog简介 mysql-binlog是MySQL数据库最重要的二进制日志,它记录了所有的数据定义语言DDL和数据操作语言DML(除了数据查询语句),以事件形式记录,还包含…
-
Mysql主从复制完美配置
主从原理 (1)主数据库进行增删改操作后,相应操作记录的语句(比如 create database test)会记录到binlog日志文件中(binlog日志文件一般和数据库dat…
-
SQL编写规范
1、DML语句 【强制】SELECT语句必须指定具体字段名称,禁止写成*。因为select *会将不该读的数据也从MySQL里读出来,造成网卡压力。且表字段一旦更新,但model层…