最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql數(shù)據(jù)庫(kù) timescaledb 時(shí)序庫(kù) 把大數(shù)據(jù)量表轉(zhuǎn)換為超表的問(wèn)題

 更新時(shí)間:2021年02月05日 14:16:31   作者:yang_z_1  
這篇文章主要介紹了postgresql數(shù)據(jù)庫(kù) timescaledb 時(shí)序庫(kù) 把大數(shù)據(jù)量表轉(zhuǎn)換為超表,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

這幾天工作的時(shí)候發(fā)現(xiàn)在 timescaledb 時(shí)序庫(kù) 中有部分大數(shù)據(jù)量的表不是超表,估計(jì)是當(dāng)時(shí)建庫(kù)的時(shí)候沒有改 影響插入,查詢效率 ,因此需要改成超表
因工作原因 部分內(nèi)容做保密處理了

一 創(chuàng)建新表

首先因?yàn)樵?timescaledb 時(shí)序庫(kù) 中創(chuàng)建超表必須是要沒有數(shù)據(jù)的表
因此第一步是 創(chuàng)建一張跟原表一模一樣的表(表名后面加個(gè)_cs) 你可以直接copy建表語(yǔ)句,也可以直接用工具復(fù)制表結(jié)構(gòu)

二 把新表改為超表

把新建的表改為超表,7天一分區(qū)

--我是7天一分區(qū)
SELECT create_hypertable('表名_cs', 'alarm_time', chunk_time_interval => INTERVAL '7 day');
-- 加個(gè)索引
CREATE INDEX "表名_cs_create_time_idx" ON "hrmw"."表名_cs" USING btree (
 "create_time" "code"."列名" DESC NULLS FIRST
);

三 插入數(shù)據(jù)

1.數(shù)據(jù)量不大的情況可以直接插入

INSERT into 表名_cs SELECT * from 表名;

2.如果數(shù)據(jù)量比較大 可以采取 一天一天 插入 或者一個(gè)月 或者幾個(gè)月一起插入

INSERT into 表名_cs SELECT * from 表名 where alarm_time >= '2020-9-1';
INSERT into 表名_cs SELECT * from 表名 where alarm_time >= '2020-10-1' and alarm_time < '2020-11-1'  ;

3.運(yùn)用函數(shù)(儲(chǔ)存過(guò)程)

對(duì)于表數(shù)據(jù)量太大,一天一天的插入的話 可以運(yùn)用儲(chǔ)存過(guò)程(postgresql 數(shù)據(jù)庫(kù)叫函數(shù))

下面是我寫的函數(shù)。大家可以借鑒

CREATE 
	OR REPLACE PROCEDURE "hrmw"."sp_into_表名_pt" ( ) AS $BODY$ BEGIN
	-- 一般按照表名來(lái)建函數(shù)
	DECLARE --我聲明的變量有點(diǎn)多 按實(shí)際的來(lái)
		target_text TEXT;
	sqltext TEXT;
	sqltext1 TEXT;
	sqltext2 TEXT;
	rd record;
	nloop INT;
	isexist TEXT;
	datestr TEXT;
	begindate TEXT;
	n INT;
	BEGIN
			--查詢最早一天的時(shí)間
			sqltext := 'select to_char(min(alarm_time),''yyyy-mm-dd'') datestr from tb_hrmw_moni_target';    
		EXECUTE sqltext INTO begindate;
		n := date_part( 'day', now( ) - begindate :: DATE );
--enddate:=(to_char(now(),'yyyy-mm-dd'))::text;
		FOR nloop IN 0..n
		LOOP
		datestr := ( begindate :: DATE + nloop ) :: TEXT;
		sqltext2 := '
		insert into 表名_cs 
		select
		列名1,
		code,
		列名2,
		alarm_time,
		列名3,
		列名4
		from 表名
		where alarm_time >= ''' || datestr || ' 00:00:00''
		and alarm_time <= ''' || datestr || ' 23:59:59''
		'; 
		EXECUTE sqltext2;
		COMMIT;
		
	END loop;
RETURN;

END;

END $BODY$ LANGUAGE plpgsql

四 查看效果

模式 _timescaledb_internal下面的就是分區(qū)

在這里插入圖片描述

到此這篇關(guān)于postgresql數(shù)據(jù)庫(kù) timescaledb 時(shí)序庫(kù) 把大數(shù)據(jù)量表轉(zhuǎn)換為超表的文章就介紹到這了,更多相關(guān)postgresql數(shù)據(jù)庫(kù) timescaledb 時(shí)序庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案

    PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案

    這篇文章主要介紹了PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Postgresql 存儲(chǔ)過(guò)程(plpgsql)兩層for循環(huán)的操作

    Postgresql 存儲(chǔ)過(guò)程(plpgsql)兩層for循環(huán)的操作

    這篇文章主要介紹了Postgresql 存儲(chǔ)過(guò)程(plpgsql)兩層for循環(huán)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql重置序列起始值的操作

    postgresql重置序列起始值的操作

    這篇文章主要介紹了postgresql重置序列起始值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL拼接字符串的幾種方法簡(jiǎn)單示例

    PostgreSQL拼接字符串的幾種方法簡(jiǎn)單示例

    在PostgreSQL中有多種方式可以拼接字符串,這篇文章主要給大家介紹了關(guān)于PostgreSQL拼接字符串的幾種方法,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • PostgreSQL 存儲(chǔ)過(guò)程的進(jìn)階講解(含游標(biāo)、錯(cuò)誤處理、自定義函數(shù)、事務(wù))

    PostgreSQL 存儲(chǔ)過(guò)程的進(jìn)階講解(含游標(biāo)、錯(cuò)誤處理、自定義函數(shù)、事務(wù))

    PL/pgSQL 游標(biāo)允許我們封裝一個(gè)查詢,然后每次處理結(jié)果集中的一條記錄,這篇文章主要介紹了PostgreSQL 存儲(chǔ)過(guò)程的進(jìn)階介紹(含游標(biāo)、錯(cuò)誤處理、自定義函數(shù)、事務(wù)),需要的朋友可以參考下
    2023-03-03
  • postgresql 修改字段長(zhǎng)度的操作

    postgresql 修改字段長(zhǎng)度的操作

    這篇文章主要介紹了postgresql 修改字段長(zhǎng)度的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql13主從搭建Ubuntu

    postgresql13主從搭建Ubuntu

    這篇文章主要為大家介紹了postgresql13主從搭建Ubuntu實(shí)現(xiàn)過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Docker修改Postgresql密碼的方法詳解

    Docker修改Postgresql密碼的方法詳解

    在Docker環(huán)境中,對(duì)已運(yùn)行的PostgreSQL數(shù)據(jù)庫(kù)實(shí)例進(jìn)行密碼更改是一項(xiàng)常見的維護(hù)操作,下面將詳述如何通過(guò)一系列命令行操作來(lái)實(shí)現(xiàn)這一目標(biāo),需要的朋友可以參考下
    2024-07-07
  • PostgreSQL 更新JSON,JSONB字段的操作

    PostgreSQL 更新JSON,JSONB字段的操作

    這篇文章主要介紹了PostgreSQL 更新JSON,JSONB字段的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql 兩表關(guān)聯(lián)更新操作

    postgresql 兩表關(guān)聯(lián)更新操作

    這篇文章主要介紹了postgresql 兩表關(guān)聯(lián)更新操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01

最新評(píng)論

邢台市| 泉州市| 栖霞市| 随州市| 中卫市| 大庆市| 炎陵县| 绥德县| 泽库县| 甘泉县| 丹棱县| 漯河市| 临泉县| 浮山县| 科技| 得荣县| 惠来县| 衡东县| 东海县| 法库县| 丽江市| 凤山县| 郸城县| 灵寿县| 蓬溪县| 宜春市| 浮山县| 天峨县| 南投县| 太仓市| 永福县| 屏东市| 新郑市| 凤庆县| 三江| 淅川县| 皮山县| 阿拉善盟| 彭阳县| 修水县| 屯昌县|