高性能mysql(四)缓存表和计数器表
来源:互联网 发布:淘宝纠纷率 编辑:程序博客网 时间:2024/06/05 12:04
缓存表(汇总表)
假如统计一个网站23小时发出的消息数,在一个比较忙碌的网站下不可能随时维护一个精准的计数器。代替方案是每小时生成一张汇总表,这样比实时计算要高效的多。
简单的说就是维护一些复杂 耗时的计算 那么用汇总表是比较好的选择。
计数器表
要计数我们可以创建一个计数器表。
create table hit_counter(cnt int unsigend not null)engine=innodb;
每次网站有点击就进行更新
update hit_counter set cnt = cnt + 1;
缺点 每次进行更新都会锁表,那么会有很多的等待。
为了提高性能可以把计数保存在多行中
create table hit_counter(slot tinyint unsigned nut null primary key,cnt int unsigned not null)engine = innodb;
更新数据时可以这样:
update hit_counter set cnt = cnt + 1 where slot = RAND() * 100;
获取数据
select sum(cnt) from hit_counter;
更快的读,更慢的写
为了挺高查询速度,有时候需要一些额外的索引,冗余,汇总表等,这样数据的写入会更慢一些,但是数据的读取会更快一些,这也是常用的优化手段。
阅读全文
0 0
- 高性能mysql(四)缓存表和计数器表
- 高性能mysql读书笔记(四)
- [高性能MySQL]--查询缓存
- MySQL:如何实现高性能高并发的计数器功能(如:网站点击数)
- MySQL查询缓存 --《高性能MySQL》读书笔记
- 高性能MySQL.读书笔记(四)可扩展的MySQL
- 高可用高性能系统(四)分布和集群
- MySQL高性能表设计规范
- MySQL高性能表设计规范
- SQLServer MySql 计数器表
- MySQL计数器表
- Mysql计数器表设计
- MySQL计数器表
- mysql计数器表
- 【MySQL】计数器表
- MySql 性能计数器
- 高性能Mysql笔记 (7)---查询缓存
- MySql 高性能 5.5 维护索引和表 189页
- 深度学习中卷基层和全连接层训练参数个数如何确定
- POJ3616-Milking Time
- (59)组件之缆绳组件
- Java大白话—–Token入门案例(附demo下载)
- 算法设计作业12
- 高性能mysql(四)缓存表和计数器表
- 使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
- 实战mycat读写分离和分库分表(2)-本地mysql主从配置
- 行内元素,块级元素,替换元素和inline-block
- [leetcode]572. Subtree of Another Tree
- Cookie的功能
- File文件类的使用
- java实现栈
- idea 部署非maven项目