› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
zdt3476
V2EX  ›  MySQL

关于数据量太大,需要分表的问题

  •  
  •   zdt3476 · Sep 26, 2019 · 6122 views
    This topic created in 2558 days ago, the information mentioned may be changed or developed.
    1. 这个表是战斗记录表 关键的几个字段有pid,war_start_time,war_id,team_id。
    2. 对于这张表有两种查询方式,根据war_start_time倒序查询指定pid的数据,以及根据war_id=? and team_id=?的形式查询玩家所在队伍的数据。
    3. 现在这张表有 10 亿的数据,在不根据时间清理数据的情况下,有什么分表的方案吗?
    4. 目前想到的是,可以根据war_id进行 hash,不过这样在查询单个玩家的数据的时候,就得汇总所有分表的查询结果,而且分成几个表也不好定。
    Supplement 1  ·  Sep 26, 2019
    忘了说,根据 PID 查询时需要分页。
    8 replies  •  2019-09-26 17:35:21 +08:00
    sadfQED2
        1
    sadfQED2  
       Sep 26, 2019 via Android   ❤️ 1
    根据 pid 建立一个索引表用 pid 分表,再根据 war_id 和 team_id 建立一个索引表,用 war_id+team_id 分表,索引表可以分 1024 张,根据 pid 查询的时候有 pid 索引表,根据 war_id+team_id 查询的时候走 war_id+team_id 的索引表
    boyhailong
        2
    boyhailong  
       Sep 26, 2019   ❤️ 1
    “war_start_time 倒序查询指定 pid 的数据”,什么功能需求需要直接从数据库这么查数据,实时性要求高吗
    “ar_id=? and team_id=?” 这么多需求,先设置索引再说
    boyhailong
        3
    boyhailong  
       Sep 26, 2019
    @sadfQED2 感觉楼主不懂数据库设计 在这求方案
    Raymon111111
        4
    Raymon111111  
       Sep 26, 2019   ❤️ 1
    再加上用玩家 id 分表
    zdt3476
        5
    zdt3476  
    OP
       Sep 26, 2019
    @sadfQED2 意思是多了一份冗余数据是吗?这样插入的时候要插入两份?
    zdt3476
        6
    zdt3476  
    OP
       Sep 26, 2019
    @boyhailong 我没说清楚,因为有分页查询的需求,索引肯定是有加的。 确实对数据库不熟,来求方案的。
    wysnylc
        7
    wysnylc  
       Sep 26, 2019
    一致性哈希分库分表解决数据量大问题,热点数据额外存储解决一致性哈希无法区分冷热数据问题
    jrient
        8
    jrient  
       Sep 26, 2019
    按照时间分呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5270 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 01:57 · PVG 09:57 · LAX 18:57 · JFK 21:57
    ♥ Do have faith in what you're doing.