
MySQL
文章平均质量分 89
ai 翠er
这个作者很懒,什么都没留下…
展开
-
第六章数据分区
数据分区(数据密集型应用系统设计第六章) 我们必须摆脱串行的限制. 明确状态定义, 提供优先级与属性描述, 我们必须首先定义清楚关系, 然后才是执行步骤 ------Grace Murray Hopper, 管理方法以及未来的计算机 面对海量数据或非常高的压力查询, 复制技术还不够, 我们还需要将数据拆分成为分区或分片 分区的定义: 每一条数据(或者每条记录, 每行或每个文档) 只属于某个特定分区 采用数据分区的目的是提高可扩展性, 不同的分区可以放在一个无共享集群的不同节点上, 对 单个分区进原创 2021-10-29 16:34:50 · 318 阅读 · 0 评论 -
第五章数据复制
数据复制(数据密集型应用系统设计第五章) 一个可能出错的事物与一个不可能出错的事物之间的主要区别是, 当一个不可能出错的事物出错了, 通常也就意味着不可修复. -----Douglas Adams, <<基本无害>> (1992) 为什么需要复制: 使数据在地理位置上更接近用户, 从而降低访问延迟 当部分组件出现故障, 系统依然可以继续工作, 从而提高可用性 扩展至多台机器以同时提供数据访问服务, 从而提高吞吐量 主节点和从节点 引入多副本后, 如何保证所有副本之间原创 2021-10-29 16:33:55 · 174 阅读 · 0 评论 -
[笔记]数据存储与检索
数据存储与检索(数据密集型应用系统设计) 如果你把东西整理得井井有条, 下次就不用查找了 — 德国谚语 从最基本的层面看, 数据库只需要做两件事情 向它插入数据时, 它就保存数据 查询数据时, 它应该返回需要的数据 数据库核心: 数据结构 世界上最简单的数据库 #!/bin/bash db_set() { echo "$1,$2" >> database } db_get() { grep "^$1," database | sed -e "s原创 2021-10-27 16:27:57 · 401 阅读 · 0 评论 -
MySQL的为什么
Reference MySQL实战45讲 为什么 MySQL 偶尔会选错索引 原因: 选择索引是优化器的工作, 优化器会结合预计扫描行数, 是否使用临时表, 是否排序因素进行综合判断 解决: 扫描行数不准确可以使用 analyze table 解决, 可以使用 force index 强制使用指定索引, 或者修改 SQL 语句, 或者删除影响优化器判断的索引. 怎么给字符串加索引 字符串相比 int, 索引占用空间巨大, 影响 io 性能, 可以使用前缀索引, 比如字段 name 保存了 abc111, a原创 2021-08-04 20:59:48 · 111 阅读 · 0 评论 -
MySQL 索引原理
为什么数据库需要索引 数据库的作用一般是存放应用程序不可丢失的数据, 由于内存的价格和易失性, 所以不能存放长久的数据, 所以需要持久化到硬盘, 但是硬盘的读取速度相较于内存来说相差一个数量级, 所以为了加快硬盘的读写速度, 索引就出现了, 它就像书本的目录一样, 能够快速定位到你想看的地方. 索引的几种实现 前面解释到: 索引本质上就是为了提高查询效率. 那么使用什么样的数据结构存储索引呢? 哈希表? 哈希表有着 O(1) 的读写性能, 美中不足的是存在哈希碰撞, 但是有拉链法的存在, 可以稍微解决原创 2021-08-04 00:04:00 · 87 阅读 · 0 评论