• 实操演练 | 使用 Navicat 对 MySQL 表进行分区


    在之前的文章《MySQL 8 中的数据类型转换》中,我们了解了在处理大型数据集时利用数据库分区的潜在用途和优势。在今天的后续文章中,我们将使用哈希分区准则在 Navicat for MySQL 中创建一个 MySQL 分区。

    Navicat 中启动分区对话框

    在 Navicat 中,你会在表设计器的“选项”选项卡(页面底部)中找到“分区”按钮:

    点击此按钮可打开“分区”对话框。

    在表上创建哈希分区

    “分区”对话框中的第一个控件是分割由下拉菜单:

    支持的分区类型取决于数据库类型和版本。以下是你可以在 Navicat 中找到 MySQL 7 的选项:

    • Range partitioning(范围分区):范围(或间隔)分区在组织类似数据时很有用,特别是日期和时间数据。因此,范围分区非常适合对历史数据进行分区。
    • List partitioning(列表分区):根据离散值将行显式映射到分区。例如,南部各州的所有客户可以存储在一个分区中,而北部各州的客户可以存储在不同的分区中。
    • Composite partitioning(复合分区):基于分区键标识的多维分区。例如,你可能决定以只读、压缩格式存储特定产品类型的数据,并保持其他产品类型数据未压缩。复合分区还显着增加了分区数量,这可能有利于高效并行执行。
    • Round-robin partitioning(循环分区):以循环方式将行分配给每个分区,以便每个分区包含或多或少相等的行数,并实现负载平衡。在这种情况下,没有分区键,因此行在所有分区中随机分布。
    • Hash partitioning(哈希分区):基于历史数据在分区之间随机分布数据,而不是将相似的数据分组。尽管可以识别分区键,但在不知道应该驻留在哪个分区数据中的情况下仍很有用。因此,数据的分布使其不对应于业务或数据的逻辑视图,就像范围分区中那样。

    注意事项

    为了从分区中受益,你需要确保:

    • 如果你确实提供了对表进行分区的列,则它是该表中每个唯一键的一部分。
    • 你正在用查询中最常用的列对表进行分区。否则,创建分区将没有任何好处。

    定义分区详细信息

    “分区”对话框支持许多选项,包括子分区以及手动创建分区定义的能力。但是,对于简单的哈希分区,我们只需要提供分区准则、(表列)和分区数:

    点击“确定”按钮,只需简单的一步即可创建分区!

    在“SQL 预览”选项卡中,你可以查看 Navicat 生成的 SQL 语句

    1. ALTER TABLE `sakila2`.`film` PARTITION BY HASH (actor)
    2. PARTITIONS 10
    3. (PARTITION `p0` MAX_ROWS = 0 MIN_ROWS = 0 ,
    4. PARTITION `p1` MAX_ROWS = 0 MIN_ROWS = 0 ,
    5. PARTITION `p2` MAX_ROWS = 0 MIN_ROWS = 0 ,
    6. PARTITION `p3` MAX_ROWS = 0 MIN_ROWS = 0 ,
    7. PARTITION `p4` MAX_ROWS = 0 MIN_ROWS = 0 ,
    8. PARTITION `p5` MAX_ROWS = 0 MIN_ROWS = 0 ,
    9. PARTITION `p6` MAX_ROWS = 0 MIN_ROWS = 0 ,
    10. PARTITION `p7` MAX_ROWS = 0 MIN_ROWS = 0 ,
    11. PARTITION `p8` MAX_ROWS = 0 MIN_ROWS = 0 ,
    12. PARTITION `p9` MAX_ROWS = 0 MIN_ROWS = 0 )
    13. ;

    总结

    在今天的文章中,我们使用哈希分区准则在 Navicat for MySQL 中创建了一个 MySQL 分区。如果你对 Navicat for MySQL 感兴趣,可以免费试用 14 天!

    往期回顾

    Navicat 被投毒了 | 真相来了!

    盗版引发设备瘫痪

    Navicat 16.1 为OceanBase 社区版

    Navicat 成为信通院数据库创新实验室成员

    Navicat 学术伙伴计划 - 免费教育版申请

    Navicat 技术智库 - 实战演练与各类热门问题解答

    免费试用攻略 | Navciat 16 数据库管理工具

  • 相关阅读:
    多模态知识图谱构建系统论文笔记
    MeterSphere离线部署操作手册
    测试用例设计方法--正交试验法详解
    react-native遇到的问题
    使用两个栈实现一个队列
    XSS进阶三
    (六) ES6 新特性 —— 迭代器(iterator)
    最高检:聚焦金融、电信、互联网等领域 打击泄露个人信息违法犯罪
    Protobuf用法和实际操作总结
    windows平台编译OpenCV以支持CUDA
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/125908866