MySQL分区表简介

MySQL分区表简介,第1张

我们的业务只存近一段时间的数据,因此有大量表需要清理 历史 数据,目前使用的delete清理数据,存在以下问题。为避免同时支持大量delete,我们的清理任务只在低峰期串行执行,导致任务过多时需要排队,甚至失败的情况;数据清理使用delete语句,表数据量较大时,对数据库造成很大压力;即使我们删除了旧数据,已删除的数据仍占据存储空间,底层数据文件并没有立刻变小,以至于形成数据空洞。

查看MySQL官方文档时,发现了分区表,因此基于官方文档总结一下。

MySQL逻辑上为一个表,物理上存储在多个文件中,这是 MySQL 支持的功能(5.1 开始), 8.0 版本只 InnoDB 和 NDB 支持分区表

优点:

缺点:

根据分区表键值的范围把数据存储到表的不同分区中,适用于以时间或日期作为分区类型,方便数据清理。

小提示:

1.当插入数据分区不存在时会报错:Table has no partition for value xxx

2.Range类型分区字段必须是数值,时间类型可用函数转换为数值;

3.分区字段列值可以为null,所有为null的数据将存在最小的分区中;

按分区键取值的列表进行分区,每一行数据须找到对应的分区列表,否则数据插入失败

小提示:

根据指定分区表达式的整数值以及分区数进行数据划分(mod函数)

小提示:

按键分区类似于按哈希分区,只是哈希分区使用用户定义的表达式,用于键分区的哈希函数由 MySQL 服务器提供。NDB 集群为此使用 MD5() 对于使用其他存储引擎的表,服务器使用自己的内部哈希函数。

小提示:

子分区(subpartitioning)也称为复合分区(composite partitioning) ,是已分区表中每个分区的进一步划分

小提示:

小提示:

第一步:

我们打开mysql命令行编辑器。

第二步:

我们输入密码,登录Mysql数据库。

第三步:

我们先显示数据库,选择一个我们要创建表的数据库。

第四步:

我们使用那个数据库,当然也可以直接新建一个数据库。

第五步:

我们在那个数据库中创建一个表。

最后:

我们输入describe 表名;我们就可以显示表内容了。

扩展资料:

与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL[1] 

自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

Linux作为 *** 作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。

参考资料:百度百科-mysql应用环境

安装:

首先要安装MySQL,并且配置信息。创建一个快捷键到桌面上,双击软件,打开软件,界面如下图所示,什么都没有,我们要先创建一个连接。

2

创建连接:

文件---》新建连接,如下图所示,会d出一个对话框,信息好填写正确。

3

测试连接:

在d出的新建连接对话框中要填写好连接名、主机名、端口、用户名和密码,填写好之后,单击“测试连接”,d出“连接成功”,就按确定。

4

填写内容:

会看到左边出现了我们刚才创建的连接,里面有很多的数据,我们可以右击连接,选择新建数据库。填写数据库的名称和字符编码。

5

新建表

最终结果如图所示,还可以右击数据库,选择新建表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7450774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存