艰难的学Mysql
文章平均质量分 75
草莓摇摇奶昔-
努力学习C++
展开
-
Redis 缓存穿透、缓存击穿、缓存雪崩
Redis 缓存穿透、缓存击穿、缓存雪崩转载 2022-06-16 14:30:21 · 259 阅读 · 1 评论 -
CentOS7 下 C++ 连接 Mysql 数据库的环境配置以及常用API测试
CentOS7 下 C++ 连接 Mysql 数据库的环境配置以及常用API测试原创 2022-05-13 10:19:52 · 1258 阅读 · 2 评论 -
数据库 -跳跃表与B+树
B+树是多叉平衡搜索树,只需要3层左右就能存放2kw左右的数据,同样情况下跳表则需要24层左右,假设层高对应磁盘IO,那么B+树的读性能会比跳表要好,因此mysql选了B+树做索引。redis的读写全在内存里进行操作,不涉及磁盘IO,同时跳表实现简单,相比B+树、AVL树、少了旋转树结构的开销,因此redis使用跳表来实现ZSET,而不是树结构。转载 2022-05-03 21:47:01 · 3291 阅读 · 2 评论 -
MySQL索引失效的11种情况
数据准备按照如下代码创建生成范围内随机整数函数、固定长度随机字符串、创建 student 表和 class 表、创建随机过程自动向表中插入数据,数据由随机函数随机生成。最后调用随机过程得到数据供学习使用。CREATE DATABASE dbtest01;set global log_bin_trust_function_creators=TRUE;DELIMITER //CREATE FUNCTION `rand_num`(from_num INT, to_num INT)RET原创 2022-04-19 14:27:20 · 1791 阅读 · 0 评论 -
MySQL适合创建索引的11种情况及不适合创建索引的7种情况
数据准备:创建学生表和课程表#创建学生表CREATE TABLE `student_info`(`id` INT(11) NOT NULL AUTO_INCREMENT,`student_id` INT NOT NULL,`name` VARCHAR(20) DEFAULT NULL,`course_id` INT NOT NULL,`class_id` INT(11) DEFAULT NULL,`create_time` DATETIME DEFAULT CURRENT_TIMEST原创 2022-04-07 22:18:29 · 8060 阅读 · 0 评论 -
7种SQL JOINS 的实现
# 7种 Sql JOIN的实现# 1、中图 : 内连接SELECT employee_id, department_nameFROM employees e JOIN departments dON e.department_id = d.department_id;# 2、左上图:左外连接SELECT employee_id, department_nameFROM employees e LEFT JOIN departments dON e.department_id...原创 2022-03-08 10:24:17 · 612 阅读 · 0 评论 -
MySQL 如何添加索引
表中添加索引的三种方式 创建表的时候创建索引 隐式创建:使用CREATE TABLE创建表时,在声明有主键约束、唯一性约束、外键约束的字段上,会自动的添加相关的索引。#CREATE TABLE时隐式创建索引CREATE TABLE dept(dept_id INT PRIMARY KEY AUTO_INCREMENT,dept_name VARCHAR(20));CREATE TABLE emp(emp_id INT PRIMARY KEY AUTO_INCREMENT,e原创 2022-04-07 11:02:25 · 12742 阅读 · 0 评论