首页 > 数据库 >MySQL 零碎笔记2

MySQL 零碎笔记2

时间:2024-02-20 10:35:34浏览次数:33  
标签:JDBC 分区 笔记 查询 分区表 零碎 MySQL Sharding 数据

1.分区表

适用场景:
业务简单,单表查询,且都跟时间范围查询相关。
数据需要定期清理数据,无需保留全部数据。
数据更新频率较低,只有写入操作。

优点:
查询条件包含分区条件时,可以直接扫描必要的分区。也可以直接指定必要的分区来提高查询效率。
聚合查询时,可以很容易地在每个分区上并行处理,最终只需汇总得到结果。
对于已经过期或者不需要保存的数据,可以通过删除与这些数据有关的分区来快速删除数据。

缺点:
多表查询时,使用了分区表所有分区表都会参与关联查询,性能很差。
增加、删除分区,会获取表的MDL锁,这是一把全局锁,因此会影响业务查询。
分区的字段,必须是表上所有的唯一索引(或者主键索引)包含的字段的子集。
维护分区的成本可能很高。如果数据更新频率比较高,这个会导致行数据的重新分配分区。

注:
若数据清理直接使用 delete语句,当表数据量较大时,对数据库造成很大压力;即使我们删除了旧数据,已删除的数据仍占据存储空间,底层数据文件并没有立刻变小,以至于形成数据碎片,需要手动执行 OPTIMIZE TABLE命令来优化表(Innodb 引擎的可以利用操作系统来帮忙回收这些碎片),该命令会重新利用未使用的空间,并整理数据文件的碎片。

子分区

2. 数据库分片 ShardingSphere

2.1 简介

ShardingSphere 提供了三种模式:代理模式(Sharding-Proxy)、JDBC 模式(Sharding-JDBC)和侧端模式(Sharding-Sidecar)。其中,Sharding-JDBC 是以 JDBC 驱动的方式提供服务,Sharding-Proxy 则类似于 Mycat,采用代理模式。而且 ShardingSphere 除了支持数据分片,还支持读写分离、分布式事务、数据库治理等功能。

2333

标签:JDBC,分区,笔记,查询,分区表,零碎,MySQL,Sharding,数据
From: https://www.cnblogs.com/lemos/p/18022490

相关文章

  • 吴恩达深度学习笔记
    深度学习框架有很多种,都是封装好的,基本是不用我们处理,只要完成正向传播,反向传播就能通过框架完成,需要自己去选择学习合适的框架,并且知道如何运用; ————————————————————————————————————————————————————————————......
  • Programming Abstractions in C阅读笔记:p283-p292
    《ProgrammingAbstractionsinC》学习第72天,p283-p292总结,总计10页。一、技术总结1、anylasisofalgorithms算法分析——即判断程序的效率(efficiency)。2、mathematicalinduction(数学归纳法)3、Big-Onotation(大O标记法)4、constanttime(常量时间)5、lineartime(......
  • 一例MySQL的insert死锁
    原文链接:https://fanyilun.me/2022/03/09/%E4%B8%80%E4%BE%8BMySQL%E7%9A%84insert%E6%AD%BB%E9%94%81/ 分享一个最近遇到的一例MySQL死锁。关于MySQL的锁,几年前写过一篇原理类的文章,基础知识建议移步MySQL加锁分析。背景  我们使用MySQL实现了一个通用的分布式DB锁,建表语句......
  • Mysql中使用rule作为表的别名引发的语法错误
    不可以使用rule作为别名MySQL表别名不能为"rule",因为"rule"是MySQL的保留关键字。你可以使用其他名称作为别名,例如:SELECT*FROMyour_tableASrule;将"your_table"替换为你的表名,将"rule"替换为你想要的别名。"rule"是MySQL的保留关键字吗在MySQL中,“rule”作为保留关键......
  • RabbitMQ 学习笔记 - 2
    WorkQueues工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。3.1......
  • 2.19 闲话 & 学习笔记 『 望向这片懵懂的土地/嘈杂念想充斥着思绪 』
    昨天没发闲话,今天事情太乱来不及写学术内容放昨天的学术内容吧今天去面试,感觉说的跟个......
  • Go语言精进之路读书笔记第29条——使用接口作为程序水平组合的连接点
    如果说C++和Java是关于类型层次结构和类型分类的语言,那么Go则是关于组合的语言。——RobPike,Go语言之父“偏好组合,正交解耦”29.1一切皆组合在语言设计层面,Go提供了诸多正交的语法元素供后续组合使用,包括:Go语言无类型体系(typehierarchy),类型定义独立;方法和类型是正交......
  • 数学专题集训笔记
    感谢lsy学长来101给我们上课~Day1逆元对于一个\(a\),当\(ab\equiv1\pmod{m}\)时我们把\(b\)的最小整数解称作\(a\)模\(m\)的逆元,记作\(a^{-1}\)或\(\frac{1}{a}\)。接下来我们来看看逆元的求法。费尔马小定理如果\(a\)是一个整数,\(p\)是一个质数,则有\[a^p\e......
  • 读书笔记3
    第三章软件工程师的成长这章主要讨论软件工程师个人能力衡量及发展,一些思维误区和以后的职业发展在团队工作中,稳定、一致的交付时间时衡量一个员工能力的重要方面初级软件工程师的成长包括以下几种:(1)积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对JAV......
  • FOI2023 冬令营笔记
    Day1基础算法:二分:求解满足\(x\)条件的最小\(y\)值\(\Rightarrow\)二分一个答案\(y\),判断\(y\)是否满足\(x\)条件时间复杂度:log二分答案,暴力地判断标志:最小xx的最大值/最大xx的最小值贪心:思考顺序:分治:对于一个问题,把它分解成两个大小相等的子问题,通过log层......