V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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 · 2019-03-01 15:38:56 +08:00 · 3268 次点击
    这是一个创建于 1854 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 条回复    2019-03-11 10:55:08 +08:00
    xiaoxinshiwo
        1
    xiaoxinshiwo  
       2019-03-01 16:34:41 +08:00
    大于 150000000 的是不是给个分区?
    Joyboo
        2
    Joyboo  
       2019-03-01 17:03:21 +08:00
    PARTITION po VALUES LESS THAN MAXVALUE ENGINE = InnoDB
    cs8814336
        3
    cs8814336  
       2019-03-04 09:22:06 +08:00   ❤️ 1
    具体还是看查询的吧,假如你查询的条件没有 id,他还是会遍历所有分区数据(或者各个分区上的索引). 就好像 LSM TREE 的一个大树分成多个小树,耗时是会增加的,但是假如大树还有其他阻碍就不太清楚了
    bluemartin
        4
    bluemartin  
    OP
       2019-03-11 10:54:18 +08:00
    @xiaoxinshiwo 谢谢,这个是应该的。
    bluemartin
        5
    bluemartin  
    OP
       2019-03-11 10:54:25 +08:00
    @Joyboo 谢谢指导!
    bluemartin
        6
    bluemartin  
    OP
       2019-03-11 10:55:08 +08:00
    @cs8814336 您说的对,现在我们已经根据 memberid 来分区,这样查询时会避免遍历问题了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5415 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:42 · PVG 16:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.