zoukankan      html  css  js  c++  java
  • PostgreSQL 学习笔记

    批量插入:

    方式一:

    insert into tb1_batch1(user_id,user_name) select user_id,user_name from user_ini;

    方式二:

    create table tb1_batch3(id int4,info text);
    
    insert into tb1_batch3(id,info) values (1,'a'),(2,'b'),(3,'c');

    方式二能减少和数据库的交互,减少数据库WAL(Write-Ahead Logging)日志的生成,提升插入效率。

    导入导出数据:

    copy pguser.tb1_batch3 to 'd:\1.txt';   //导出数据到D盘1.txt文件
    
    copy pguser.tb1_batch3 from 'd:\1.txt';  //导入数据到npas.tb1_batch3表,如果该表有数据,则追加写入导入的数据内容。

    Returning 返回修改的数据:

    insert into tb1_batch3(id,info) values (1,'a') returning *; //返回插入的整行数据
    
    insert into tb1_batch3(id,info) values (1,'a') returning id; //返回插入的id字段

    returning *            返回操作的整行数据

    returning 字段名字     返回操作的具体字段数据

    数据抽样

    SYSTEM   方式 抽样数据,随机抽取表上数据块上的数据,数据块级别,适用于性能优先

    insert into tb1_batch3(id,info) select n,n ||'_system_sample'
    
    from generate_series(1,10000) n;
    
    select * from tb1_batch3 TABLESAMPLE SYSTEM(0.1);//系统抽样0.1%的数据

    BERNOULLI 方式抽样数据,随机抽取数据行,性能比System方式低很多,适用于随机性优先

    select * from tb1_batch3 TABLESAMPLE BERNOULLI(0.01);

    并行查询相关

    1,  max_worker_processes    设置系统支持的最大后台进程数,默认8

    2,  max_parallel_workers    设置系统支持的最大并行查询进程数,默认8

    3,  max_parallel_workers_per_gather  设置允许启用的并行进程数,默认2,设置成0表示禁用并行查询

    4,  三个参数的配置大小关系:1 > 2 > 3

    事务与并发控制

    由于Postgresql内部将read uncommitted 设计为和read commited一样,所以不会产生脏读。

    脏读,第一个事务读取了第二个事务已经修改但还没有提交的数据

    不可重复读,第一个事务读取数据之后,被读取数据被另一个已提交事务修改,再次读取时发现数据已经被修改,两次读结果不一致

    幻读,一个事务两次查询结果不一致。

    ANSI SQL标准的事务隔离级别:

    Read uncommited 读未提交,很少用于实际应用

    Read commited 读已提交,postgresql默认隔离级别

    Repeatable read 可重复读

    Serializable 可序列化

    ##############阁下如果是抄袭,爬取文章作恶或误导他人的开发者,请阅读中国现行法律的相关处罚条例再动手,转载之前最好先验证#############
  • 相关阅读:
    Java8新特性详解
    RedisTemplate详解
    RestTemplate详解
    windows中将多个文本文件合并为一个文件
    commons-lang 介绍
    commons-cli介绍
    commons-collections介绍
    commons-codec介绍
    commons-beanutils介绍
    commons-io介绍
  • 原文地址:https://www.cnblogs.com/chuyuan/p/14802336.html
Copyright © 2011-2022 走看看