mysql中如何判断是否支持分区

作者:mrr 时间:2024-01-19 18:00:57 

mysql可以通过下面语句判断是否支持分区:

SHOW VARIABLES LIKE '%partition%';

如果输出:

have_partitioning   YES

表示支持分区。

或者通过:

SHOW PLUGINS;

显示所有插件,如果有partition ACTIVE STORAGE ENGINE GPL 插件则表明支持分区

ps:什么是数据库分区

前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。

分区的二种方式

1,横向分区

什么是横向分区呢?就是横着来分区了,举例来说明一下,假如有100W条数据,分成十份,前10W条数据放到第一个分区,第二个10W条数据放到第二个分区,依此类推。也就是把表分成了十分,根用merge来分表,有点像哦。取出一条数据的时候,这条数据包含了表结构中的所有字段,也就是说横向分区,并没有改变表的结构。

2,纵向分区

什么是纵向分区呢?就是竖来分区了,举例来说明,在设计用户表的时候,开始的时候没有考虑好,而把个人的所有信息都放到了一张表里面去,这样这个表里面就会有比较大的字段,如个人简介,而这些简介呢,也许不会有好多人去看,所以等到有人要看的时候,在去查找,分表的时候,可以把这样的大字段,分开来。

标签:mysql,是否,支持分区
0
投稿

猜你喜欢

  • Java通过MyBatis框架对MySQL数据进行增删查改的基本方法

    2024-01-17 10:27:12
  • python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能

    2021-12-29 06:55:13
  • python3 下载网络图片代码实例

    2021-11-21 01:11:40
  • php7安装openssl扩展方法

    2023-11-14 17:34:14
  • 重构中的模块化设计:样式的作用域

    2010-04-23 14:42:00
  • Python中常用功能的实现代码分享

    2021-02-25 00:26:08
  • 在ASP中使用SQL语句之6:存储过程查询

    2007-08-11 12:44:00
  • python3实现域名查询和whois查询功能

    2023-09-19 19:35:12
  • 关于Python的Thread线程模块详解

    2022-12-20 02:48:16
  • Go语言递归函数的具体实现

    2023-08-05 02:35:32
  • Pandas 同元素多列去重的实例

    2023-02-09 21:03:32
  • selenium3+python3环境搭建教程图解

    2022-09-04 14:47:16
  • python读写ini配置文件方法实例分析

    2022-10-09 22:02:28
  • MySQL函数一览_MySQL函数全部汇总

    2024-01-21 17:43:11
  • python开发之thread实现布朗运动的方法

    2021-04-10 00:17:36
  • MySQL 8.0 对 limit 的优化技巧

    2024-01-19 02:24:38
  • Numpy(Pandas)删除全为零的列的方法

    2022-07-23 13:13:59
  • 查看TensorFlow checkpoint文件中的变量名和对应值方法

    2022-07-25 08:50:17
  • Windows下Anaconda下载安装与配置教程分享

    2023-09-29 22:37:11
  • Python生成pdf文件的方法

    2021-05-11 13:05:36
  • asp之家 网络编程 m.aspxhome.com