postgres 水平分表
测试了下,速度确实快了很多:
修正下原文的插入语句:
DO $$
DECLARE
i INTEGER := 1;
identityId BIGINT := 200000000001;
BEGIN
  WHILE i < 50 LOOP
    identityId = identityId + 1;
  raise notice '%',i;
      -- INSERT 语句
      -- 将字符串转为 uuid cast ('057b8c51-f62f-4260-bdbb-' || identityId as uuid)
	  --begin
	  INSERT INTO almart_all
select
	(select
		array_agg(j::date)
	 from generate_series('2015-12-10'::date, '2015-12-14'::date, '1 day'::interval) as t(j)
	)[floor(random()*4)+1] as date_key,
	floor(random()*24) as hour_key,
	floor(random()*1000000)+1 as client_key,
	floor(random()*100000)+1 as item_key,
	floor(random()*20)+1 as account,
	floor(random()*10000)+1 as expense
from
	generate_series(1,50000,1)
commit;
							 
    i = i + 1;
  END LOOP;
END $$;
- 可能是以为我电脑的内存太小(2G),数据插入的速度真是堪忧
本文来自博客园,作者:那时一个人,转载请注明原文链接:https://www.cnblogs.com/qianxunman/p/13332368.html
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号