› 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
bluemartin
V2EX  ›  MySQL

mysql 大神来看,大表改分区存,这个语句没有问题吧?

  •  
  •   bluemartin · Mar 1, 2019 · 4558 views
    This topic created in 2766 days ago, the information mentioned may be changed or developed.
    alter table `mytable` PARTITION BY RANGE(`id`)
    (
    PARTITION p1 VALUES LESS THAN(50000000),
    PARTITION p2 VALUES LESS THAN(100000000),
    PARTITION p3 VALUES LESS THAN(150000000)
    )

    5000 万一个分区,未来会有坑吗?
    6 replies  •  2019-03-11 10:55:08 +08:00
    xiaoxinshiwo
        1
    xiaoxinshiwo  
       Mar 1, 2019
    大于 150000000 的是不是给个分区?
    Joyboo
        2
    Joyboo  
       Mar 1, 2019
    PARTITION po VALUES LESS THAN MAXVALUE ENGINE = InnoDB
    cs8814336
        3
    cs8814336  
       Mar 4, 2019   ❤️ 1
    具体还是看查询的吧,假如你查询的条件没有 id,他还是会遍历所有分区数据(或者各个分区上的索引). 就好像 LSM TREE 的一个大树分成多个小树,耗时是会增加的,但是假如大树还有其他阻碍就不太清楚了
    bluemartin
        4
    bluemartin  
    OP
       Mar 11, 2019
    @xiaoxinshiwo 谢谢,这个是应该的。
    bluemartin
        5
    bluemartin  
    OP
       Mar 11, 2019
    @Joyboo 谢谢指导!
    bluemartin
        6
    bluemartin  
    OP
       Mar 11, 2019
    @cs8814336 您说的对,现在我们已经根据 memberid 来分区,这样查询时会避免遍历问题了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2679 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:52 · PVG 11:52 · LAX 20:52 · JFK 23:52
    ♥ Do have faith in what you're doing.