MySQL
文章平均质量分 68
为了我的架构师
燕然未勒,楼兰未破
展开
-
Specified key was too long; max key length is 767 bytes
Specified key was too long; max key length is 767 bytes意思是:索引太长,索引最长767原因系统变量innodb_large_prefix开启了,则对于使用DYNAMIC或COMPRESSED行格式的InnoDB表,索引键前缀限制为3072字节。如果禁用innodb_large_prefix,不管是什么表,索引键前缀限制为767字节。解决方案开启系统变量innodb_large_prefix将索引字段的长度减少(我们数据库使用的是utf8m原创 2021-12-29 21:13:18 · 4777 阅读 · 0 评论 -
InnoDB存储引擎学习笔记(更新ing)
InnoDB存储引擎1.MySQL常用的几大存储引擎介绍//通过该命令可查看当前mysql支持的存储引擎show engines;1.InnoDBInnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用特点:行锁支持外键非锁定读(默认读不会产生锁)MySQL5.5.8开始,InnoDB是默认存储引擎InnoDB通过使用MVCC(多版本并发控制)来获取高并发,并且实现了SQL标准的4种隔离级别,默认是Repeatable级别。同时使用一种叫next-ke原创 2021-11-23 21:31:59 · 1180 阅读 · 0 评论 -
MySQL基础备用篇
MySQL1.常用SQL语法1.加号+在mysql中 +只能是运算符如果将两个字段用 +相连,并且两个字段都不是数值类型(会尝试将字符类型转为数值,"123"这种纯数字的字符串就能被转为123,而不全是数值的字符串"123aaa"被转为123,不包含数值的字符串会被转为0)数据:2.concat函数要拼接数据就使用cancat函数:concat(str1,str2,…)3. is null不能用=或者!=去判断值是否为null,使用is null 、is not原创 2021-11-19 21:49:51 · 405 阅读 · 0 评论 -
MySQL(InnoDB)高级篇(持续更新)
文章目录MySQL高级篇(InnoDB)1.索引1.B+ Tree2.索引分类3.聚簇索引、非聚簇索引MySQL高级篇(InnoDB)1.索引1.B+ TreeB+树是mysql索引的数据结构。这里我们可以先说说mysql为什么没有使用二叉树、红黑树来存储索引:这里强烈推荐一个网站,可以演示各种数据结构:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html二叉树:我们就随便写数据:依次加入5,6,7,8,9这五个数据原创 2021-11-16 22:32:12 · 1080 阅读 · 0 评论 -
MySQL窗口函数(排序篇)
MySQL窗口函数(排序篇)我们经常会遇到查询排名的需求,需要把排名展示出来。比如学生的成绩排名,成绩并列怎么办?这里我们就可以用到MySQL窗口函数,排序的三个函数1. ROW_NUMBER()能干嘛?就是行号,表示第几个,出现并列没有特殊处理2.RANK()能干嘛?row_number()的基础上,出现相同分数时,并列处理。后面的分数依旧是行号现有分数 99 99 80排序结果 1 1 33.DENSE_RANK()现有分数 99 9原创 2021-08-04 14:27:12 · 1141 阅读 · 0 评论