随笔分类 -  数据库

摘要:本文转载自MySQL索引背后的数据结构及算法原理 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱, 阅读全文
posted @ 2020-07-19 22:39 Yungyu 阅读(345) 评论(0) 推荐(0) 编辑
摘要:本文转载自MySQL命名、设计及使用规范 导语 最近在看MySQL相关的内容,整理如下规范,作为一名刚刚学习MySQL的菜鸟,整理的内容非常的基础,中间可能涉及到有错误的地方,欢迎批评指正,看到有错误的地方期望看官留言。 数据库环境 dev:开发环境,开发可读写,可修改表结构。开发人员可以修改表结构 阅读全文
posted @ 2020-05-27 12:16 Yungyu 阅读(378) 评论(0) 推荐(0) 编辑
摘要:本文转载自数据库设计:表的设计命名的十个注意点 表名一般以【模块名称_具体表名】来实现,同一个模块的前缀是一样的。(Oracle大小写敏感,在SQL中可以不用“_”,因为可以用大小写一起的写法。这也是可以的)。 表名称不应该取得太长(一般不超过三个英文单词,不推荐使用中文拼音,总的长度不要超过30个 阅读全文
posted @ 2020-05-26 12:10 Yungyu 阅读(469) 评论(0) 推荐(0) 编辑
摘要:本文转载自MySQL -- 内部临时表 UNION UNION语义:取两个子查询结果的并集,重复的行只保留一行 表初始化 CREATE TABLE t1(id INT PRIMARY KEY, a INT, b INT, INDEX(a)); DELIMITER ;; CREATE PROCEDUR 阅读全文
posted @ 2020-05-25 23:23 Yungyu 阅读(792) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySql查询性能优化" 避免向数据库请求不需要的数据 在访问数据库时,应该只请求需要的行和列。请求多余的行和列会消耗MySql服务器的CPU和内存资源,并增加网络开销。 例如在处理分页时,应该使用LIMIT限制MySql只返回一页的数据,而不是向应用程序返回全部数据后,再由应用程序过 阅读全文
posted @ 2020-05-25 18:20 Yungyu 阅读(272) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL优化总结" MySQL逻辑架构 说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT 、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而 阅读全文
posted @ 2020-05-25 12:36 Yungyu 阅读(6613) 评论(2) 推荐(0) 编辑
摘要:本文转载自 "Mysql的join算法" 导语 在Mysql中,使用 的算法思想去优化 ,`Nested Loop Join`翻译成中文则是“嵌套循环连接”。 举个例子: 称为外层表,也可称为驱动表。 称为内层表,也可称为被驱动表。 在Mysql的实现中, 有3种实现的算法: :`SNLJ`,简单嵌 阅读全文
posted @ 2020-05-25 12:16 Yungyu 阅读(713) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL 索引设计概要" 导语 在关系型数据库中设计索引其实并不是复杂的事情,很多开发者都觉得设计索引能够提升数据库的性能,相关的知识一定非常复杂。 然而这种想法是不正确的,索引其实并不是一个多么高深莫测的东西,只要我们掌握一定的方法,理解索引的实现就能在不需要 DBA 的情况下设计 阅读全文
posted @ 2020-05-25 10:40 Yungyu 阅读(187) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL性能优化最佳实践 08 SQL EXPLAIN解析" 什么是归并排序? 如果需要排序的数据超过了sort_buffer_size的大小,说明无法在内存中完成排序,就需要写到临时文件中。若排序中产生了临时文件,需要利用归并排序算法保证临时文件中的记录是有序的。归并排序算法是分批 阅读全文
posted @ 2020-05-25 10:11 Yungyu 阅读(433) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "数据库范式(1NF/2NF/3NF)" 概述 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,是在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8 阅读全文
posted @ 2020-05-24 19:54 Yungyu 阅读(486) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL索引原理及慢查询优化" 背景 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句 阅读全文
posted @ 2020-05-24 19:49 Yungyu 阅读(125) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "InnoDB 的记录结构和页结构" 概述 将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,中页的大小一般为 。也就是在一般情况下,一次最少从磁盘中读取 的内容到内存中,一次最少把内存中的 内容刷新到磁盘中。 MySQL 里共有四种行格式: 指定行格式的方法 COMPACT 阅读全文
posted @ 2020-05-24 19:44 Yungyu 阅读(514) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "最官方的 mysql explain type 字段解读" 读了很多别人的笔记都杂乱不堪,很少有实例,什么都不如原装的好,所以当你读到我的笔记的时候如果觉得说的不明白,最好参考官方的手册。 我把官方的手册简单翻译了下,好多地方也还是不懂,网友补充,配合了官方的实例代码 更多请更多的参考 阅读全文
posted @ 2020-05-24 14:17 Yungyu 阅读(2850) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL 索引" 索引模型 哈希表 实现上类似于 ,哈希表适合只有 等值查询 的场景 " " 有序数组 有序数组只适用于 静态存储引擎 (针对不会再修改的数据) " " 查找 1. 等值查询:可以采用 二分法 ,时间复杂度为 2. 范围查询:查找 首先通过 二分法 找到第一个大于等于 阅读全文
posted @ 2020-05-23 11:22 Yungyu 阅读(155) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "InnoDB Next Key Lock" MVCC 1. InnoDB支持 ,与之 相对的是 2. MVCC中 分两类: (`不加锁 Current Read 加锁`) 3. MVCC的好处: , ,适用于常规的 项目( 应用) 隔离级别 InnoDB支持4种事务隔离级别( ) | 阅读全文
posted @ 2020-05-23 10:59 Yungyu 阅读(259) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "MySQL的InnoDB索引原理详解" 摘要 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM, "文档" )。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyI 阅读全文
posted @ 2020-05-23 00:06 Yungyu 阅读(152) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "InnoDB 数据页结构" 数据页结构 " " File Header 参考链接: "Fil Header" 1. 总共 ,记录页的 | 名称 | 大小(Bytes) | 描述 | | : | : | : | | FIL_PAGE_SPACE | 4 | 该页的 值 | | FIL_P 阅读全文
posted @ 2020-05-22 23:50 Yungyu 阅读(345) 评论(0) 推荐(0) 编辑
摘要:本文转载自 "InnoDB 行记录格式" 分类 " " Named File Format 1. InnoDB 的文件格式( )为 ,可以定义两种行记录格式,分别是 和`Redundant` 2. 为了解决不同版本下 ,在 可以定义两种新的行记录格式 和`Dynamic` 3. 变量为 和`inno 阅读全文
posted @ 2020-05-22 23:46 Yungyu 阅读(332) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示