sql分区
将学员表student按所在城市使用PARTITION BY LIST
1、创建分区表。
CREATE TABLE public.student(
sno numeric(4,0),
sname character varying(20 char),gender character varying(2 char),
phone numeric(11,0), id no character varying(18 char),
city character varying(20 char),
reg_date date,
job character varying(30 char),
company character varying(30 char)
)PARTITION BY LIST(city);
2、创建子分区。
CREATE TABLE public.student_p1 PARTITION OF student FOR VALUES IN ('Beijing','shanghai');CREATE TABLE public.student_p2 PARTITION OF student FOR VALUES IN ('Tianjin','Guangzhou');CREATE TABLE public.student_p3 PARTITION OF student FOR VALUES IN ('chongging','chengdu');CREATE TABLE public.student default p PARTITION OF Student DEFAULT;
3、查看分区表。
\d+ studentSELECT partitioning_type,partition_count FROM user_part_tables WHEREtable name ="STUDENT";
4、插入测试数据、执行数据查询、查看SQL执行计划。
INSERT INTO public.student SELECT * FROM exam.student;EXPLAIN SELECT * FROM public.student;EXPLAIN SELECT * FROM public.student WHERE city='chongqing';
将学员表student按报名时间使用PARTITION BY RANGE
1、创建 student 分区表。
CREATE TABLE public.student(sno numeric(4,0),sname character varying(20 char),gender character varying(2 char),phone numeric(11,0),id no character varying(18 char),city character varying(20 char),reg_date date,
job character varying(30 char),
company character varying(30 char)
)PARTITION BY RANGE(reg_date);
2、创建子分区。
CREATE TABLE Student_p1 PARTITION OF Student FOR VALUES FROM ('2021-01-01') TO ('2021-03-31');CREATE TABLE Student_p2 PARTITION OF Student FOR VALUES FROM ('2021-04-01') TO ('2021-06-30');CREATE TABLE Student_p3 PARTITION OF Student FOR VALUES FROM ('2021-07-01') TO ('2021-09-30');CREATE TABLE Student_p4 PARTITION OF Student FOR VALUES FROM ('2021-10-01') TO ('2021-12-31');CREATE TABLE student_default_p PARTITION OF Student DEFAULT;
3、查看分区表。
\d+ student
4、插入测试数据、执行数据查询、查看SQL执行计划。
INSERT INTO public.student SELECT * FROM exam.student;EXPLAIN SELECT * FROM public.student;EXPLAIN SELECT * FROM public.student WHERE reg_date between '2021-02-01'and '2021-02-28';
将学员表student按学员编号使用PARTITION BY HASH
1、创建分区表
CREATE TABLE public.student(
sno numeric(4,0),
sname character varying(20 char),
gender character varying(2 char),
phone numeric(11,0),
id no character varying(18 char),
city character varying(20 char),reg_date date,job character varying(30 char),
company character varying(30 char)
)PARTITION BY HASH(sno);
2、创建子分区。
CREATE TABLE Student_p1 PARTITION OF Student FOR VALUES WITH (MODULUS 4, REMAINDER 0);
CREATE TABLE Student_p2 PARTITION OF Student FOR VALUES WITH (MODULUS 4, REMAINDER 1);CREATE TABLE Student_p3 PARTITION OF Student FOR VALUES WITH (MODULUS 4, REMAINDER 2);CREATE TABLE Student_p4 PARTITION OF Student FOR VALUES WITH (MODULUS 4, REMAINDER 3);
3、查看分区表。
\d+ student
4、插入测试数据、执行数据查询、查看SQL执行计划,
INSERT INTO public.student SELECT * FROM exam.student;EXPLAIN SELECT * FROM public.student;EXPLAIN SELECT* FROM public.student where sno=5;
通过表继承和触发器创建分区表
1、创建父表
CREATE TABLE student(sid int,name text,reg_date date not null);
2、创建子表
CREATE TABLE student_2019(CHECK(reg_date>='2019-01-01' and reg_date<'2020-01-01')) INHERITS(student);
CREATE TABLE student_2020(CHECK(reg_date>='2020-01-01' and reg_date<'2021-01-01')) INHERITS(student);CREATE TABLE student_2021(CHECK(reg date>='2021-01-01' and reg_date<'2022-01-01')) INHERITS(student);
3、创建触发器函数
CREATE OR REPLACE FUNCTION fun_students_insert()RETURNS TRIGGER AS $$BEGINIF(NEW.reg_date>='2019-01-01" AND NEW.reg_date<'2020-01-01')THEN INSERT INTO student_2019 VALUES(NEW.*);ELSIF (NEW.reg_date>='2020-01-01' AND NEW.reg_date<'2021-01-01')THEN INSERT INTO studen_2020 VALUES (NEW.*);ELSE
tests# INSERT INTO student_2021 VALUES(NEW.*);END IF:
tests# RETURN NULL;END;$$LANGUAGE pIsql;\df fun_students_insert
4、创建触发器
CREATE TRIGGER tri_students_insertBEFORE INSERT ON studentFOR EACH ROW EXECUTE PROCEDURE fun_students_insert();
5、插入测试数据
INSERT INTO student VALUES( 1001, 'LiMing','2019-01-03');INSERT INTO student VALUES( 1002,'ZhaoHai','2020-05-13');INSERT INTO student VALUES( 1001,'SunQian','2021-09-20');INSERT INTO student VALUES( 1001,'LuXun','2020-4-08');INSERT INTO student VALUES( 1001,'SunWuKong','2021-8-02');
6、查询测试
EXPLAIN SELECT * FROM student;EXPLAIN SELECT * FROM student WHERE reg_date >'2021-01-01';
相关文章:
sql分区
将学员表student按所在城市使用PARTITION BY LIST 1、创建分区表。 CREATE TABLE public.student( sno numeric(4,0), sname character varying(20 char),gender character varying(2 char), phone numeric(11,0), …...
[OpenGL]使用OpenGL实现硬阴影效果
一、简介 本文介绍了如何使用OpenGL实现硬阴影效果,并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map,实现硬阴影的流程如下: 首先,以光源为视角,渲染场景的深度图,将light space中的深度图存储…...
嵌入式采集网关(golang版本)
为了一次编写到处运行,使用纯GO编写,排除CGO,解决在嵌入式中交叉编译难问题 硬件设备:移远EC200A-CN LTE Cat 4 无线通信模块,搭载openwrt操作系统,90M内存...
ctfshow(328)--XSS漏洞--存储型XSS
Web328 简单阅读一下页面。 是一个登录系统,存在一个用户管理数据库。 那么我们注册一个账号,在账号或者密码中植入HTML恶意代码,当管理员访问用户管理数据库页面时,就会触发我们的恶意代码。 思路 我们向数据库中写入盗取管理员…...
【C#】Thread.CurrentThread的用法
Thread.CurrentThread 是 System.Threading.Thread 类的一个静态属性,它返回当前正在执行的线程对象。通过 Thread.CurrentThread,可以访问和修改当前线程的各种属性和方法。 下面是一些常见的用法和示例: 1. 获取当前线程的信息 使用 Thr…...
简单分享一下淘宝商品数据自动化抓取的技术实现与挑战
在电子商务领域,数据是驱动决策的关键。淘宝作为国内最大的电商平台之一,其商品数据对电商从业者来说具有极高的价值。然而,从淘宝平台自动化抓取商品数据并非易事,涉及多重技术和法律挑战。本文将从技术层面分析实现淘宝商品数据…...
Netty篇(入门编程)
目录 一、Hello World 1. 目标 2. 服务器端 3. 客户端 4. 流程梳理 💡 提示 5. 运行结果截图 二、Netty执行流程 1. 流程分析 2. 代码案例 2.1. 引入依赖 2.2. 服务端 服务端 服务端处理器 2.3. 客户端 客户端 客户端处理器 2.4. 代码截图 一、Hel…...
【渗透测试】payload记录
Java开发使用char[]代替String保存敏感数据 Java Jvm会提供内存转储功能,当Java程序dump后,会生成堆内存的快照,保存在.hprof后缀的文件中,进而导致敏感信息的泄露。char[]可以在存储敏感数据后手动清零,String对象会…...
2024自动驾驶线控底盘行业研究报告
自动驾驶线控底盘是实现自动驾驶的关键技术之一,它通过电子信号来控制车辆的行驶,包括转向、制动、驱动、换挡和悬架等系统。线控底盘技术的发展对于自动驾驶汽车的实现至关重要,因为它提供了快速响应和精确控制的能力,这是自动驾驶系统所必需的。 线控底盘由五大系统组成…...
css3D变换用法
文章目录 CSS3D变换详解及代码案例一、CSS3D变换的基本概念二、3D变换的开启与景深设置三、代码案例 CSS3D变换详解及代码案例 CSS3D变换是CSS3中引入的一种强大功能,它允许开发者在网页上创建三维空间中的动画和交互效果。通过CSS3D变换,你可以实现元素…...
Rust:启动与关闭线程
在 Rust 编程中,启动和关闭线程是并发编程的重要部分。Rust 提供了强大的线程支持,允许你轻松地创建和管理线程。下面将详细解释如何在 Rust 中启动和关闭线程。 启动线程 在 Rust 中,你可以使用标准库中的 std::thread 模块来创建和启动新…...
Ubuntu 的 ROS 2 操作系统安装与测试
引言 机器人操作系统(ROS, Robot Operating System)是一种广泛应用于机器人开发的开源框架,提供了丰富的库和工具,支持开发者快速构建、控制机器人并实现智能功能。 当前,ROS 2 的最新长期支持版本为 Humble Hawksbil…...
在双显示器环境中利用Sunshine与Moonlight实现游戏串流的同时与电脑其他任务互不干扰
我和老婆经常会同时需要操作家里的电脑,在周末老婆有时要用电脑加班上网办公,而我想在难得的周末好好地Game一下(在客厅用电视机或者平板串流),但是电脑只有一个,以往我一直都是把电脑让给老婆,…...
ElasticSearch备考 -- Cross cluster replication(CCR)
一、题目 操作在cluster1(local)中操作索引task,复制到cluster2(remote)中 二、思考 CCR 我们可以对标MySQL 理解为为主从,后者备份。主节点负责写入数据,从/备节点负责同步时主节点的数据。 …...
windows C#-异常处理
C# 程序员使用 try 块来对可能受异常影响的代码进行分区。 关联的 catch 块用于处理生成的任何异常。 finally 块包含无论 try 块中是否引发异常都会运行的代码,如发布 try 块中分配的资源。 try 块需要一个或多个关联的 catch 块或一个 finally 块,或两…...
边缘计算在智能制造中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 引言 边缘计算概述 定义与原理 发展历程 …...
点云开发:从入门到精通的全面教程
简介 点云技术已成为计算机视觉、自动驾驶、3D重建等领域的重要组成部分。本教程旨在引导你从零基础开始学习点云开发,深入理解其背后的数学原理,并提供实用的开发技巧。 章节目录 点云技术概述 点云的定义及应用场景点云数据的来源和采集工具点云数据…...
【含文档】基于ssm+jsp的商店会员系统(含源码+数据库+lw)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了两个…...
【大数据学习 | kafka高级部分】文件清除原理
2. 两种文件清除策略 kafka数据并不是为了做大量存储使用的,主要的功能是在流式计算中进行数据的流转,所以kafka中的数据并不做长期存储,默认存储时间为7天 那么问题来了,kafka中的数据是如何进行删除的呢? 在Kafka…...
dolphin 配置data 从文件导入hive 实践(一)
datax 支持多种数据源的相互读写,作为开源软件,提供了离线采集功能,方便系统开发,过程中遇到诸多配置,需要开发者自己探索,免费同样有成本 配置模板 {"setting": {},"job": {"s…...
Docker Compose部署Rabbitmq(脚本下载延迟插件)
整个工具的代码都在Gitee或者Github地址内 gitee:solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb github:GitHub - ZeroNing/solomon-parent: 这个项目主要是…...
麦当劳自助点餐机——实现
餐厅自助点餐优点 1. 降低服务成本: - 减少了对服务员数量的需求,降低了人力成本。 - 减轻了服务员的工作负担,使其能够更专注于提供优质的服务,如解决顾客的特殊需求和处理复杂问题。 2. 提升点餐效率和准确性…...
C++ STL CookBook 6:STL Containers (I)
目录 顺序容器 关联容器 容器适配器 使用统一擦除函数从容器中删除指定项 在恒定时间内对一个对排序不敏感的vector中删除项目 如果不确定自己访问容器会不会越界,那就使用.at方法而不是[] 在我们开始之前,先来回顾一下传统的经典的几个容器&#…...
行转列实现方式总结
前言 在日常开发中遇到了,需要对表中数据某个字段行数据转成列,个人觉得这中做目前想到两种, 一种是sql 操作, 另一种代码中做逻辑处理。 方式一 Java 操作 import lombok.Data;import java.util.ArrayList; import java.util.H…...
【go从零单排】初探goroutine
🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 Goroutines 是 Go 语言中的一种轻量级线程,用于并发编程。它们允许程…...
HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)本地搜索接入方案
一、方案概述 当用户使用应用/元服务时,开发者可以按照标准意图Schema向系统共享数据,并支持意图调用(空调用与传参调用),以实现用户点击卡片后,可后台执行功能(例如播放指定歌曲)或…...
C语言可变参数列表编程实战指南:从基础概念到高级应用的全面解析
引言 在C语言中,可变参数列表的功能使得函数能够灵活地处理不确定数量的输入参数。本文将深入探讨可变参数列表的基础概念、技术原理及其在实际编程中的应用,帮助开发者更好地理解和使用这一特性。 一、可变参数列表的基本概念 1.1 什么是可变参数列表…...
AndroidStudio-文本显示
一、设置文本的内容 1.方式: (1)在XML文件中通过属性:android:text设置文本 例如: <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.andr…...
HBuilderX运行微信小程序,编译的文件在哪,怎么运行
1. 点击HBuilderX顶部的运行-运行到小程序模拟器-微信开发者工具,就会开始编译 2. 编译完成后的文件在根目录找到 unpackage -- dist -- dev -- mp-weixin, 这里面就是编译后的文件,如果未跳转到开发者工具,那可能是没设置启动路径࿰…...
百亿AI数字人社会初现:Project Sid展示智能代理文明进化路径
项目背景 Project Sid 是一项开创性的AI代理人文明实验,旨在通过新开发的认知架构 PIANO 探讨AI代理人是否能够在大规模数字社会中实现文明的演进。这项实验不仅展示了社会进步、角色分化、治理体系及文化传播等特征,还揭示了一个包含百亿“数字人类”的社会可能性。 PIANO…...
做网站测试心得/长沙百度网站推广优化
目前为止最全的CURL中文说明了,学PHP的要好好掌握.有很多的参数.大部份都很有用.真正掌握了它和正则,一定就是个采集高手了. PHP中的CURL函数库(Client URL Library Function) curl_close - 关闭一个curl会话 curl_copy_handle - 拷贝一个curl连接资源…...
网站建设好了怎么弄手机网站建设/wordpress
学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手,大概也算有点斤两了吧 每次上网,泡bbs逛论坛,没少去java相关的版面 总体感觉初学者多,高手少,精通的更少 由于我国高等教…...
网站上的图片多大合适/网络营销软文范文
安装mysql 参考文档 其实mysql是我第一个安装的软件,数字1和字母l让我吃尽了苦头。还有很多字母拼写总是或拼写错。后来还是没办法,用ssl链接系统。通过网页粘贴命令。 use database 创建数据表 信息数据录入表 create table mqttmes( MS_id int not…...
在线视频教育网站开发/产品网络营销
opengl的抗锯齿 1.对直线和点主要用函数GL_Enable(GL_LINE_SMOOTH)或GL_Enable(GL_POINT_SMOOTH) 2.对RGBA模式需要启动混合功能,最常用的混合模式为GL_SRC_ALPHA和GL_ONE_MINUS_SRC_ALPHA(用GL_Blend开启混合模式) 以下摘自OPENGL编程指南的aargb.c代码 /* * aargb.c * This…...
在哪建网站/深圳广告策划公司
如何设计自动化测试用例或脚本?自动化始终遵循手动测试。通常,将在AUT上执行一轮或多轮手动测试。这意味着手动测试用例已经存在并且已经执行了至少一次。例如,假设以下是您的手动测试用例。它只是登录到Gmail.com网站。现在,这看…...