文档章节

SqlServer和PostgreSQL的两点差异

黄裳23
 黄裳23
发布于 2016/09/30 16:39
字数 213
阅读 18
收藏 0
点赞 0
评论 2

※差异1

SqlServer利用Insert Into tablename values (a,b),(a1,b1),...语句批量插入数据时,有1000行以内的制限。

https://msdn.microsoft.com/ja-jp/library/dd776382.aspx

PostgreSQL没有相关的制限,一次插入10万条都可以。

※差异2

SqlServer删除数据时,如果数据量很大,可以分批量一次一次删除

Delete Top 1000000 From tableName where ...

而PostgreSQL貌似不支持这种方式。

只能用 以下语句

Delete From TableName where column1 In (Select * From TableName  Where where_str Limmit 1000000)

但是这样还是有缺陷,这条语句的column1只能针对有唯一性约束的列才能真正达到目标,精确删除100万条数据。如果对于没有主键并且有多列值可能重复的情况,这样还是行不通。

© 著作权归作者所有

共有 人打赏支持
黄裳23
粉丝 2
博文 53
码字总数 9420
作品 0
西安
高级程序员
加载中

评论(2)

黄裳23
黄裳23
终于找到了代替方案,性能得到了大幅的优化
DELETE FROM tableNameA WHERE Datetime = any (array(SELECT Datetime FROM tableNameA WHERE ... LIMIT 1000000))
黄裳23
黄裳23
DELETE FROM {0} WHERE (col1, col2, col3, col4, col5...) IN (SELECT * From {1} WHERE {2} LIMIT {3}
经过测试,删除3亿数据中的100万条时,耗时超过半小时。。。
ConnectionString

ConnectionString的配置使用.NET 2.0配置文件(一般为Web.config或App.config文件)中的<connectionStrings>配置节,同一程序可以设置多个ConnectionString指向不同的数据库。 下面给出典型的C...

Yamazaki
2012/06/01
0
0
postgres监控正在执行的sql

SELECT procpid, start, now() - start AS lap, current_query FROM (SELECT backendid, pgstatgetbackendpid(S.backendid) AS procpid, pgstatgetbackendactivity_start(S.backendid) AS st......

NotFoundException
2014/05/19
0
0
多平台向Postgresql 迁移

最近有个工作要把 一个SqlServer 迁移到 Postgresql 平台上,上网搜了搜,EnterpriseDB在这块做了很多工作, EnterpriseDB 的 Postgres Plus Advanced Server管理工具中有一个 mogiration t...

从前
2013/01/30
0
0
Sequelize 4.38.0 发布,新增 PostgreSQL 网络类型

Sequelize 4.38.0 发布了,Sequelize 是一款基于 Nodejs 的异步 ORM 框架,它同时支持PostgreSQL、MySQL、SQLite 和 MSSQL 多种数据库,很适合作为 Nodejs 后端数据库的存储接口,为快速开发...

h4cd
06/23
0
0
JDBC驱动下载及各种数据库的连接字符串URL写法

各种数据库的JDBC驱动下载及连接字符串URL写法 sun官方网站上的JDBC驱动列表:http://java.sun.com/products/jdbc/reference/industrysupport/index.html 数 据 库 说 明 MySQL http://www.m...

余路
2012/05/03
0
0
jdbc.properties 包含多种数据库驱动链接的版本。

Properties file with JDBC-related settings. ########## # HSQLDB # ########## #jdbc.driverClassName=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001/bookstore #j......

晨曦之光
2012/03/09
0
0
SQLAlchemy 1.2.7 发布,Python 的 ORM 框架

SQLAlchemy 1.2.7 已发布,引入了一系列针对 Core 和 ORM 的修复: [orm] [bug] Fixed regression in 1.2 within sharded query feature where the new “identity_token” element was not ......

王练
04/21
0
0
jmeter(八)-JDBC请求(sqlserver)

做JDBC请求,首先要了解这个JDBC对象是什么,然后寻找响应的数据库连接URL和数据库驱动。 数据库URL:jdbc:sqlserver://200.99.197.190:1433;databaseName=ebank 数据库驱动:com.microsoft...

劲风online
2015/01/08
0
0
postgresql,oracle,sqlserver查询的setFetchSize()

数据库 使用setFetchSize()的方法 默认 ------------------------------------------------------------------------------------------------------ postgresql conn.setAutoCommit(false);......

YuanyuanL
2015/04/16
0
0
通用数据库管理工具 DBeaver 5.0.3 发布

DBeaver 5.0.3 发布,DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL、PostgreSQL、Oracle、DB2、MSSQL、Sybase、Mimer、HSQLDB、Derby, 以及其他兼容 JDBC 的数据库。DBeav...

周其
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【JVM】JSTATD结合Java VisualVM进行远程监控JVM运行情况(二)

内存泄露指的是程序中动态分配内存给一些临时对象,但是对象不会被GC(java垃圾回收机制gabage collection)所回收,它始终占用内存。即被分配的对象很大但已无用; 内存溢出指的是程序运行过...

大白来袭
4分钟前
0
0
聊聊ribbon的超时时间设置

序 本文主要研究一下ribbon的超时时间设置 配置 实例 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 eureka: enabled: ......

go4it
13分钟前
0
0
一行代码结果叹为观止,能做到这么极致的也只有python了

Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Python 代码都可以做些什么。 一行打印...

猫咪编程
16分钟前
0
0
KingShard使用

对于kingshard的功能,在git中可以看到明确的功能说明 主要功能: 1. 基础功能 支持SQL读写分离。 支持透明的MySQL连接池,不必每次新建连接。 支持平滑上线DB或下线DB,前端应用无感知。 支...

mickelfeng
18分钟前
0
0
Linux 下 查找某个字符串

如果你想在当前项目下 查找 "test" 这个字符串,可以这样: grep -rn "test" * * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R ...

nsns
18分钟前
0
0
数据结构 之 B树与红黑树

https://blog.csdn.net/v_july_v/article/details/6530142 http://www.cnblogs.com/CarpenterLee/p/5503882.html...

晨猫
18分钟前
0
0
Linux查看服务器总内存和总硬盘大小

一、linux CPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可...

浮躁的码农
19分钟前
0
0
Postfix命令行说明

Postfix tips and Troubleshooting Commands Here's a list of stuff I user everyday and other email admins will also be using, Let me know if I missed anything List/Print current m......

mingle
25分钟前
0
0
是时候使用Helm了:Helm, Kubernetes的包管理工具

目前我们的一个产品共有4套环境:dev环境、test环境、staging环境、production环境。 其中dev, test, staging环境在一个Kubernetes集群上以不同namespace部署,production环境部署在另一个Kub...

xiaomin0322
32分钟前
0
0
常见的redis的序列化方式

概括 一般redis的序列化方式主要有:字符串序列化、json序列化、xml序列化、jdk序列化,具体可查阅org.springframework.data.redis.serializer.RedisSerializer 的实现类,其中对于json序列化...

菜蚜
47分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部