机械网站建设方案,网站的权重,北京理想创意艺术设计有限公司,单页设计是什么意思目录 1 Schema1.1 Orcal数据库示例1.2 MySQL数据库示例 2 Orcal表分区2.1 创建表分区2.2 查看表分区2.3 查看指定分区数据 此前未了解过Schema的概念#xff0c;仅知道Orcal数据库比较侧重这个概念#xff0c;搜遍全网都#xff0c;都是啰哩吧嗦的搬抄定义#xff0c;特此在… 目录 1 Schema1.1 Orcal数据库示例1.2 MySQL数据库示例 2 Orcal表分区2.1 创建表分区2.2 查看表分区2.3 查看指定分区数据 此前未了解过Schema的概念仅知道Orcal数据库比较侧重这个概念搜遍全网都都是啰哩吧嗦的搬抄定义特此在梳理后写下本文模拟直观的示例通俗易懂3min拿下理解 1 Schema
1.1 Orcal数据库示例 假设我们有一个多租户的应用服务多个学校的学生信息。每个学校都有自己的数据而且我们希望在同一个数据库实例中存储这些信息。使用schema可以很好地实现这个目标。 通过这种方式每个学校的数据都被组织在自己的schema下相互隔离。不同学校的表可以使用相同的名称而不会发生命名冲突。 1.2 MySQL数据库示例 在MySQL中相同的多租户场景可以使用不同的数据库来实现而不需要关心用户和schema的概念。 在MySQL中每个数据库是一个独立的命名空间可以存储相同表名的表而不会发生冲突。因此MySQL中不同数据库的隔离性通过数据库本身来实现而不需要显式的用户和schema的概念。 可以这么说比如你连接mysql环境xxx.xxx.xx.xx:8080创建的数据库如下 阳光中学数据库实验中学数据库彩虹中学数据库西南科技大学数据库清华大学数据库华中科技大学数据库朝阳街道办数据库凤凰南路街道办数据库 每个数据库对应不同的需求 你想要获取阳光中学的数据就在项目中连接阳光中学的数据库 你想要获取西南科技大学的数据就在项目中连接西南科技大学的数据库 完全没问题这是mysql的操作那么orcal如何处理呢 中学数据库 阳光中学 A实验中学 B彩虹中学 C 大学数据库 西南科技大学 D清华大学 E华中科技大学 F 街道办数据库 朝阳街道办 (G)凤凰南路街道 (H) 每个数据库对应不同的需求 项目中连接中心数据库 你想要获取阳光中学的数据就用身份A登陆 你想要获取彩虹中学的数据就用身份C登陆
2 Orcal表分区
2.1 创建表分区
首先让我们创建一个简单的分区表然后演示如何查看分区信息。我们将使用范围分区作为示例。
-- 创建一个范围分区表分区名为p0p1, p2, p3
CREATE TABLE sales (sale_id INT,sale_date DATE,amount DECIMAL(10, 2)
) PARTITION BY RANGE (YEAR(sale_date)) (PARTITION p0 VALUES LESS THAN (2000),PARTITION p1 VALUES LESS THAN (2010),PARTITION p2 VALUES LESS THAN (2020),PARTITION p3 VALUES LESS THAN MAXVALUE
);-- 插入一些数据
INSERT INTO sales VALUES
(1, 1999-05-15, 100.50),
(2, 2005-08-20, 150.75),
(3, 2015-03-10, 200.30),
(4, 2022-02-01, 120.90);
这个表分区是什么意思呢 sale_date字段对应的是时间将时间分成四档每个时间关联的那一条数据一起被划分
2.2 查看表分区
查询表分区定义
SELECT * FROM information_schema.partitions WHERE table_name sales;只需关注PARTITION_NAME 和 PARTITION_DESCRIPTION 字段即可可以看到p0分区是2000档p1是2010档
2.3 查看指定分区数据
查看 p0 分区的数据 SELECT * FROM sales PARTITION (p0);