怎么在mysql表中创建分区表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在mysql表中创建分区表相关的知识,希望对你有一定的参考价值。

参考技术A frm表结构文件,myd表数据文件,myi表索引文件。
INNODB engine对应的表物理存储文件
innodb的数据库的物理文件结构为:
.frm文件
.ibd文件和.ibdata文件:
这两种文件都是存放innodb数据的文件,之所以用两种文件来存放innodb的数据,是因为innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是用独享表空间存放存储数据。
独享表空间存储方式使用.ibd文件,并且每个表一个ibd文件
共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件本回答被提问者采纳

您可以在 PHP/MySQL 数据库表的每一行中创建/插入表吗?

【中文标题】您可以在 PHP/MySQL 数据库表的每一行中创建/插入表吗?【英文标题】:Can you make/insert tables inside every row in a table of a database in PHP/MySQL? 【发布时间】:2015-03-18 09:19:21 【问题描述】:

有可能吗?如果是,怎么做?

我正在为我的数据库使用 xampp,我想创建一个带有“students”表的数据库,学生 ID 列表只有一列,每个学生 ID 里面都有另一个表。 (我正在考虑为每个学生 ID 制作表格,以便可以直接完成,但似乎 PHP/MySQL 不允许整数作为表格名称)。

【问题讨论】:

不,这是不可能的。一个学生应该是学生数据库中的一行。如果您正在为实体创建表格,您想重新考虑您的设计。 【参考方案1】:

不,您不能在 SQL 中将表放在一行中。这与关系数据库的概念不兼容。您可以做的是为另一个表提供外键,您可以在其中收集链接到第一个表所需的数据。

【讨论】:

【参考方案2】:

您需要有一个表格,其中包含您想要的关于学生的所有信息,并添加一个带有他们 ID 的字段。

所以,你不必从学生 #123 那里获取信息

从 123 中选择 *

但是

SELECT * FROM students_table WHERE IdStudent = 123

【讨论】:

以上是关于怎么在mysql表中创建分区表的主要内容,如果未能解决你的问题,请参考以下文章

在 hive 的外部表中创建分区

在 DB2 for Z/OS 中创建表分区

如何更改现有表以在 Oracle 中创建范围分区

hive中创建外部分区表使用location是指定数据存放位置还是指数据来源

AWS Glue 不检测分区并在目录中创建 1000 多个表

使用 apache beam Json Time Partitioning 在 bigquery 中创建时间分区表