云数据库高级概念:索引与事务深度解析
1. 热点问题与主键选择
在数据处理中,若将数据按时间戳分割,新数据会因时间递增而集中在分割点之后,这会导致单个节点处理大量流量,形成热点问题。为避免此问题,写入新数据时,应选择均匀分布的键,避免使用计数或递增的键,如 A、B、C 或 1、2、3,带有相同前缀和递增计数的键也不可取。可选择唯一随机数或反转的固定大小计数器,像 Groupon 的 locality - uuid 包(https://github.com/groupon/locality - uuid.java)能提供帮助。
2. 二级索引
2.1 索引原理
索引可让数据库在已有数据存储基础上,维护数据的另一种排序方式。例如,除按主键排序存储员工列表外,还可按员工姓名排序存储。若数据按要过滤的列排序,查询该列会更快,因为有序列表搜索比无序列表快。
2.2 索引的优缺点
- 优点 :能加快数据查询速度。
- 缺点 :
- 需要更新和维护,更新数据时,不仅要更新表中的行,还要更新引用该列的每个索引中的数据,否则数据会不同步。
- 会占用额外空间,数据增多时,占用空间会显著增加。
2.3 何时添加索引
一般应从需要对数据库运行的查询入手。数据形状影响表结构,而查询影响所需的索引。理解查询后,就能确定所需索引类型,按需添加或删除。
超级会员免费看
订阅专栏 解锁全文
1158

被折叠的 条评论
为什么被折叠?



