美文网首页
MySQL计数器表优化

MySQL计数器表优化

作者: 浥羽醉悠扬 | 来源:发表于2020-01-20 16:08 被阅读0次

创建独立的表存储计数器可以使计数器表小且快。使用独立的表可以帮助避免查询缓存失败,并且可以使用更好的方法。

每次点击都会导致对计数器进行更新

update hit_count set cnt = cnt+1;

问题在于,对于任何想要更新这一行的事务来说,这条记录上都有一个全局的互斥锁(mutex)。这会使得这些事务只能串行执行。要获得更高的并发更新性能,也可以将计数器保存在多行中,每次随机选择一行进行更新。需要对计数器表进行修改

CREATE TABLE hit_counter (
 slot TINYINT UNSIGNED NOT NULL PRIMARY KEY,
 cnt INT UNSIGNED NOT NULL )ENGINE=INNODB;

然后预先在这张表增加100行数据,随机选择一个slot进行更新;

UPDATE hit_counter SET cnt = cnt +1 WHERE slot = CEILING(RAND()*90+10);

(此sql语句在执行时有更新失败和一次更新多条情况的发生,原因未知,建议随机数由程序生成,再填写到sql语句中)。

相关文章

  • MySQL计数器表优化

    创建独立的表存储计数器可以使计数器表小且快。使用独立的表可以帮助避免查询缓存失败,并且可以使用更好的方法。 每次点...

  • Mysql 相关

    MySQL索引 MySQL索引背后的数据结构及算法原理 覆盖索引和回表操作 MySQL性能优化 MySql表分区详...

  • 千万级MySQL数据库建立索引,提高性能的秘诀

    实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化...

  • MYSQL优化 Analyze Table

    Analyze Table(分析表) MySQL 的Optimizer(优化元件)在优化SQL语句时,首先需要收集...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • 高性能MySQL之架构与历史

    MySQL逻辑架构 优化与执行 MySQL会解析查询,创建内部数据结构(解析树),对齐进行优化(重写查询、决定表的...

  • 高性能MySQL之架构与历史

    MySQL逻辑架构 优化与执行 MySQL会解析查询,创建内部数据结构(解析树),对齐进行优化(重写查询、决定表的...

  • mysql 查询优化

    Mysql优化之高级 一、exists和in - - - 小表驱动大表 前言: 50010000和10000500...

  • 64MySQL-分页查询&表连接&count统计&索引优化总结

    1 Mysql 分页查询sql 执行原理? 2,千万级数据mysql 分页查询如何优化 3,Mysql表连接底层实...

  • MySQL(4)应用优化

    MySQL应用优化 4.1-MySQL索引优化与设计 索引的作用 快速定位要查找的数据 数据库索引查找 全表扫描 ...

网友评论

      本文标题:MySQL计数器表优化

      本文链接:https://www.haomeiwen.com/subject/aaprzctx.html