手机版

Mysql_如何进行性能优化教程(13)

发布时间:2021-06-11   来源:未知    
字号:

串类型,更新请求少; 最后登录时间,在线时常,访问次数,信件数这些字

段为整数型字段,更新频繁,可以将后面这些更新频繁的字段独立拆出一张数

据表,表内容变少,索引结构变少,读写请求变快。

横向切表

等分切表,如哈希切表或其他基于对某数字取余的切表。等分切表的优点是负

载很方便的分布到不同服务器;缺点是当容量继续增加时无法方便的扩容,需

要重新进行数据的切分或转表。而且一些关键主键不易处理。

递增切表,比如每1kw用户开一个新表,优点是可以适应数据的自增趋势;

缺点是往往新数据负载高,压力分配不平均。

日期切表,适用于日志记录式数据,优缺点等同于递增切表。

个人倾向于递增切表,具体根据应用场景决定。

热点数据分表

将数据量较大的数据表中将读写频繁的数据抽取出来,形成热点数据表。通常

一个庞大数据表经常被读写的内容往往具有一定的集中性,如果这些集中数据

单独处理,就会极大减少整体系统的负载。

热点数据表与旧有数据关系

可以是一张冗余表,即该表数据丢失不会妨碍使用,因源数据仍存在于旧

有结构中。优点是安全性高,维护方便,缺点是写压力不能分担,仍需要

同步写回原系统。

可以是非冗余表,即热点数据的内容原有结构不再保存,优点是读写效率

全部优化;缺点是当热点数据发生变化时,维护量较大。

具体方案选择需要根据读写比例决定,在读频率远高于写频率情况下,优

先考虑冗余表方案。

热点数据表可以用单独的优化的硬件存储,比如昂贵的闪存卡或大内存系统。 热点数据表的重要指标

热点数据的定义需要根据业务模式自行制定策略,常见策略为,按照最新

的操作时间;按照内容丰富度等等。

数据规模,比如从1000万条数据,抽取出100万条热点数据。

热点命中率,比如查询10次,多少次命中在热点数据内。

理论上,数据规模越小,热点命中率越高,说明效果越好。需要根据业务

自行评估。

热点数据表的动态维护

加载热点数据方案选择

定时从旧有数据结构中按照新的策略获取

在从旧有数据结构读取时动态加载到热点数据

剔除热点数据方案选择

基于特定策略,定时将热点数据中访问频次较少的数据剔除

如热点数据是冗余表,则直接删除即可,如不是冗余表,需要回写给

旧有数据结构。

通常,热点数据往往是基于缓存或者key-value 方案冗余存储,所以这里提到

的热点数据表,其实更多是理解思路,用到的场合可能并不多….

表结构设计

查询冗余表设计

涉及分表操作后,一些常见的索引查询可能需要跨表,带来不必要的麻烦。确

Mysql_如何进行性能优化教程(13).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)