数据库学习¶
数据库相关学习笔记,琐碎知识点和坑
- 数据库01mysql常用操作速查
- 数据库02mongo异常错误
- 数据库03mongo占用磁盘空间过大
- 数据库04sqlite转mysql
- 数据库05redis常用命令整理
- 数据库06redis事务
- 数据库07redis分布式锁
- 数据库08redis其他
- 数据库09mysql常用查询实例
- 数据库10mysql之坑
- CONCAT字符串拼接
- INSERT(字符串,起始位置,长度,替换内容) 字符串替换,可用作脱敏
- SUBSTRING(字符串,起始位置,长度)字符串截取
- BETWEEN AND
- COUNT函数
- 计算两个日期之间的天数
- WHERE条件
- UNION / UNION ALL 数据合并时与单独子查询的字段名无关,与字段位置有关
- 行转列
- 表中文乱码问题
- MySQL的utf8编码坑
- left-join常见的坑(数据不足和冗余)
- 任何字段与null比较,结果都是false(即使是null与null比较)
- 联合索引的最左匹配原则
- IN子句逻辑问题
- 更新时,表无法做为条件嵌套引用
- Group By: 选取非分组列
- MySQL时间加减的正确打开方式
- INT长度并不能指定
- VARCHAR存储的是字符而不是字节,但最大长度是另外的算法
- 自增不一定连续,还可能重复
- TIMESTAMP只能表达68年
- 参考
- 数据库11mysql之坑null专题
- 数据库12经验之谈
- 自增主键用完了怎么办?
- 主键为什么不推荐有业务含义?
- 货币字段用什么类型?
- 时间字段用什么类型?
- 为什么不直接存储图片、音频、视频等大容量内容?
- 表中有大字段X(例如:text类型),且字段X不会经常更新,以读为主,那么是拆成子表好?还是放一起好?
- 字段为什么要定义为NOT NULL?
- where执行顺序是怎样的?
- 应该在这些列上创建索引:
- 什么是最左前缀原则?
- 什么情况下应不建或少建索引
- 问了下MySQL数据库cpu飙升到100%的话他怎么处理?
- 索引是个什么样的数据结构呢?
- Hash索引和B+树所有有什么区别或者说优劣呢?
- 那么在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?
- 为什么使用数据索引能提高效率
- B+树索引和哈希索引的区别
- 哈希索引的优势
- B树和B+树的区别
- 为什么说B+比B树更适合实际应用中操作系统的文件索引和数据库索引?
- 其他
- MySQL 军规
- 参考
- 数据库13mysql执行计划
- 数据库14mysql的redolog与binlog