
数据库
文章平均质量分 88
就是爱喝百香果冷饮
这个作者很懒,什么都没留下…
展开
-
高性能Mysql笔记(四)
Schema与数据类型优化 4.1 选择优化的数据类型 更小的通常更好 更小的数据类型通常更快,因为它们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周期也更少。 简单就好 简单数据类型的操作通常需要更少的CPU周期。 尽量避免NULL 如果查询中包含可为NULL的列,对MySQ来说更难优化,因为可为NULL的列使得索引,索引统计和值比较都更复杂。可为NULL的列会使用更多的存储空间,在MySQL里需要特殊处理。InnoDB使用单独的位存储NULL值,所以对于稀疏数据有很好的空间效率,原创 2021-03-31 22:04:06 · 259 阅读 · 0 评论 -
树,图,层次结构在sql中的巧妙使用(一)
一.图 图是一组由边连接起来的项目组成的集合。每一项称为图的一个节点。图的两个顶点之间的连接称为边。 图是对一类数据结构的统称,很多应用场景都可以表示为图。例如:下面要介绍的员工组织图,材料清单图,道路系统等等。 有向/无向 在有向图中,一条边的两个顶点具有某种方向或顺序。无向图中,每条边只是简单连接两个顶点,没有特定顺序。 无环 无环图是指不包含循环的图。意思是,图中没有任何路径开始和结束于同一个顶点。(例如。员工组织图和BOM就是无环图。有向无环图也称为DAG) ...原创 2021-03-23 11:22:55 · 1588 阅读 · 0 评论 -
高性能Mysql笔记(三)
服务器性能剖析 3.1 性能优化简介 我们将性能定义为完成某件任务所需要的时间度量,换句话说,性能即响应时间。数据库服务器的性能用查询的响应时间来度量,单位是每个查询花费的时间。 3.1.1 通过性能剖析进行优化 性能剖析是测量和分析时间花费在哪里的主要方法。性能剖析一般有两个步骤:测量任务所花费的时间,然后对结果进行统计和排序,将重要的任务排到前面。 性能剖析工具的工作方式基本相同。在任务开始时启动计时器,在任务结束时停止计时器,然后用结束时间减去启动时间得到响应时间。 3.1.2 理解性能剖析 Mysq原创 2021-02-18 17:07:38 · 2331 阅读 · 2 评论 -
高性能Mysql笔记(二)
MySQL基准测试 基准测试就是针对系统设计的一种压力测试。 2.1 为什么需要基准测试 基准测试是唯一方便有效的,可以学习系统在给定的工作负载下会发生什么的方法。基准测试的一个主要问题在于其不是真实压力的测试。基准测试施加给系统的压力相对真实压力来说,通常比较简单。 基准测试可以完成以下工作: 验证基于系统的一些假设,确认这些假设是否符合实际情况。 重现系统中的某些异常行为,以解决这些异常。 测试系统当前的运行情况。 模拟比当前系统更高的负载,以找出系统随着压力增加而可能遇到的扩展性瓶颈。 测试应用适用原创 2021-01-29 17:06:49 · 236 阅读 · 2 评论 -
高性能Mysql笔记(一)
MySQL架构与历史 一.逻辑架构 1.1 .1MySQL服务器逻辑架构 大致上分为三层,下面来介绍这三层的作用 第一层 客户端/服务端的工具都有类似的架构。比如:连接处理,授权认证等等。 第二层 MYSQL的核心服务功能都在这一层。比如:查询解析、优化、缓存以及内置函数(日期,数学和加密函数),存储过程,触发器,视图等。 第三层 存储引擎,服务器通过API与存储引擎进行通信。 存储引擎不会解析SQL,不同存储引擎之间不会相互通信。(InnoDB例外,他会解析外键定义。) (后面会详细介绍分类原创 2021-01-25 23:50:37 · 156 阅读 · 0 评论