手机版

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

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

认查询请求远大于写入请求时,应设置便于查询项的冗余表。

实战范例,

用户分表,将用户库分成若干数据表

基于用户名的查询和基于uid的查询都是高并发请求。

用户分表基于uid分成数据表,同时基于用户名做对应冗余表。

冗余表要点

数据一致性,简单说,同增,同删,同更新。

可以做全冗余,或者只做主键关联的冗余,比如通过用户名查询uid,再

基于uid查询源表。

中间数据表

为了减少会涉及大规模影响结果集的表数据操作,比如count,sum操作。应

将一些统计类数据通过中间数据表保存。

中间数据表应能通过源数据表恢复。

实战范例:

论坛板块的发帖量,回帖量,每日新增数据等

网站每日新增用户数等。

后台可以通过源数据表更新该数字。

历史数据表

历史数据表对应于热点数据表,将需求较少又不能丢弃的数据存入,仅在少数

情况下被访问。

主从架构

基本认识

读写分离对负载的减轻远远不如分库分表来的直接。

写压力会传递给从表,只读从库一样有写压力,一样会产生读写锁!

一主多从结构下,主库是单点隐患,很难解决(如主库当机,从库可以响应读写,

但是无法自动担当主库的分发功能)

主从延迟也是重大问题。一旦有较大写入问题,如表结构更新,主从会产生巨大延

迟。

应用场景

在线热备

异地分布

写分布,读统一。

仍然困难重重,受限于网络环境问题巨多!

自动障碍转移

主崩溃,从自动接管

个人建议,负载均衡主要使用分库方案,主从主要用于热备和障碍转移。

潜在优化点

为了减少写压力,有些人建议主不建索引提升i/o性能,从建立索引满足查询要求。

个人认为这样维护较为麻烦。而且从本身会继承主的i/o压力,因此优化价值有限。该思路特此分享,不做推荐。

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