- 浏览: 254491 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
无它唯勤:
...
Spring Ioc AOP -
dubaopeng:
挺好的,拿去改改!
java 解析csv文件 -
灵程大哥:
先试一下,看行不行
java 判断文本文件编码 -
pxjianke:
谢谢兄弟。我现在在测试插入千万级数据。做测试。这个太有用了。
Oracle 高速批量速插入数据 解决方案
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->SELECT t.id,
t.group_id,
t.name,
t.task_count,
t.status,
t.project_id,
t.send_velocity,
to_char(t.create_time, 'YYYY-MM-DD HH24:MI'),
to_char(t.send_date, 'YYYY-MM-DD HH24:MI'),
u.login_id,
s.successcount,
s.softbouncecount,
s.hardbouncecount,
s.sendedfailcount,
s.sendedcount,
s.opencount,
s.sumopencount,
s.clickcount,
s.sumclickcount,
s.registercount,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.successcount / s.sendedcount * 100, 2)
ELSE
0
END successcountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.sendedfailcount / s.sendedcount * 100, 2)
ELSE
0
END sendedfailcountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.softbouncecount / s.sendedcount * 100, 2)
ELSE
0
END softbouncecountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.hardbouncecount / s.sendedcount * 100, 2)
ELSE
0
END hardbouncecountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.opencount / s.successcount * 100, 2)
ELSE
0
END opencountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.sumopencount / s.successcount * 100, 2)
ELSE
0
END sumopencountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.clickcount / s.successcount * 100, 2)
ELSE
0
END clickcountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.sumclickcount / s.successcount * 100, 2)
ELSE
0
END sumclickcountrate,
CASE
WHEN t.task_count != 0 THEN
ROUND(s.sendedcount / t.task_count * 100, 2)
ELSE
0
END sendedrate,
CASE
WHEN t.task_count != 0 THEN
ROUND(s.registercount / s.clickcount * 100, 2)
ELSE
0
END registercountrate
FROM tasks t,
users u,
(SELECT SUM(
CASE
WHEN active > 0
AND active != 2 THEN 1
ELSE 0
END) successcount,
SUM(
CASE
WHEN(active > -5000
AND active < -500) OR active = -1 OR active = -9999 OR active < -20000 THEN 1
ELSE 0
END) softbouncecount,
SUM(
CASE
WHEN(active > -500
AND active < -50) OR active = -10001 OR active = -10002 THEN 1
ELSE 0
END) hardbouncecount,
SUM(
CASE
WHEN active < 0 THEN 1
ELSE 0
END) sendedfailcount,
SUM(
CASE
WHEN active != 0
AND active != 2 THEN 1
ELSE 0
END) sendedcount,
SUM(
CASE
WHEN
OPEN > 0 THEN 1
ELSE 0
END) opencount,
SUM(
CASE
WHEN
OPEN > 0 THEN nvl(
OPEN, 0)
ELSE 0
END) sumopencount,
SUM(
CASE
WHEN click > 0 THEN nvl(
OPEN, 0)
ELSE 0
END) clickcount,
SUM(
CASE
WHEN click > 0 THEN nvl(click, 0)
ELSE 0
END) sumclickcount,
SUM(
CASE
WHEN emigration IS NOT NULL THEN nvl(click, 0)
ELSE 0
END) registercount
FROM task_emails_143)
s
WHERE t.user_id = u.id
AND t.id = '143'
t.group_id,
t.name,
t.task_count,
t.status,
t.project_id,
t.send_velocity,
to_char(t.create_time, 'YYYY-MM-DD HH24:MI'),
to_char(t.send_date, 'YYYY-MM-DD HH24:MI'),
u.login_id,
s.successcount,
s.softbouncecount,
s.hardbouncecount,
s.sendedfailcount,
s.sendedcount,
s.opencount,
s.sumopencount,
s.clickcount,
s.sumclickcount,
s.registercount,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.successcount / s.sendedcount * 100, 2)
ELSE
0
END successcountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.sendedfailcount / s.sendedcount * 100, 2)
ELSE
0
END sendedfailcountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.softbouncecount / s.sendedcount * 100, 2)
ELSE
0
END softbouncecountrate,
CASE
WHEN s.sendedcount != 0 THEN
ROUND(s.hardbouncecount / s.sendedcount * 100, 2)
ELSE
0
END hardbouncecountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.opencount / s.successcount * 100, 2)
ELSE
0
END opencountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.sumopencount / s.successcount * 100, 2)
ELSE
0
END sumopencountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.clickcount / s.successcount * 100, 2)
ELSE
0
END clickcountrate,
CASE
WHEN s.successcount != 0 THEN
ROUND(s.sumclickcount / s.successcount * 100, 2)
ELSE
0
END sumclickcountrate,
CASE
WHEN t.task_count != 0 THEN
ROUND(s.sendedcount / t.task_count * 100, 2)
ELSE
0
END sendedrate,
CASE
WHEN t.task_count != 0 THEN
ROUND(s.registercount / s.clickcount * 100, 2)
ELSE
0
END registercountrate
FROM tasks t,
users u,
(SELECT SUM(
CASE
WHEN active > 0
AND active != 2 THEN 1
ELSE 0
END) successcount,
SUM(
CASE
WHEN(active > -5000
AND active < -500) OR active = -1 OR active = -9999 OR active < -20000 THEN 1
ELSE 0
END) softbouncecount,
SUM(
CASE
WHEN(active > -500
AND active < -50) OR active = -10001 OR active = -10002 THEN 1
ELSE 0
END) hardbouncecount,
SUM(
CASE
WHEN active < 0 THEN 1
ELSE 0
END) sendedfailcount,
SUM(
CASE
WHEN active != 0
AND active != 2 THEN 1
ELSE 0
END) sendedcount,
SUM(
CASE
WHEN
OPEN > 0 THEN 1
ELSE 0
END) opencount,
SUM(
CASE
WHEN
OPEN > 0 THEN nvl(
OPEN, 0)
ELSE 0
END) sumopencount,
SUM(
CASE
WHEN click > 0 THEN nvl(
OPEN, 0)
ELSE 0
END) clickcount,
SUM(
CASE
WHEN click > 0 THEN nvl(click, 0)
ELSE 0
END) sumclickcount,
SUM(
CASE
WHEN emigration IS NOT NULL THEN nvl(click, 0)
ELSE 0
END) registercount
FROM task_emails_143)
s
WHERE t.user_id = u.id
AND t.id = '143'
发表评论
-
Oracle insert into select 序列
2010-03-16 14:46 2445"INSERT INTO AUDIT_TASK_LO ... -
Oracle 存储过程
2007-11-07 11:53 622存储过程是指数据库中已编译的可调程序,它作为PL/SQ ... -
Oracle 安装注意事项
2007-11-07 22:17 692如果你的机器上存在其它版本的Oracle,请先删除以前版本的安 ... -
Oracle 游标
2007-11-11 15:31 1518Oracle游标,从字面理解就是游动的光标。用数据库语言来描述 ... -
ORACLE 异常汇集
2007-11-15 11:53 634------------------------------- ... -
存储过程 Update 返回改更后的 结果
2007-12-18 19:54 1371今天做邮件群发系统开发,遇到这样一个问题:更改数据库一 ... -
Oracle 返回 结果集
2007-12-19 19:26 708过程返回记录集: CREAT ... -
错误的
2007-12-20 19:47 574CREATE OR REPLACE PACKAGE BODY ... -
随机 返回 一条符合条件的记录
2008-01-21 10:29 724SELECT * FROM anti_shields SAMP ... -
ORACLE NOCOPY
2008-01-21 15:23 848PL/SQL中对out,in out参数使用的?默认形 ... -
ORACLE 存储过程 邮件服务器 反屏蔽
2008-01-22 12:09 714邮件群发反屏蔽的原理是这样的: 1.每封邮件内容不同( ... -
Oracle dblink
2008-02-20 14:06 635Create Database Link LinkName C ... -
让oracle做定时任务
2008-03-11 14:42 1098今天用oracle的定时任务来实现定时检测。于是goole了一 ... -
ORACL 查看连接
2008-03-14 18:16 659select schemaname,osuser,machin ... -
Oracle 常用函数
2008-03-28 14:42 6221.SUBSTR(string,start[,end]) ... -
Oracle 定时任务 JOB
2008-04-02 17:00 953众所周知,一般操作系统会提供定时执行任务的方法,例如:Uni ... -
copy表时丢失索引
2008-04-07 20:24 649今天发现了一个大问题,copy表时,会丢失索引.这导制 ... -
Oracle decode用法
2008-04-23 13:18 17231、Windows NT4.0+ORACLE 8.0.4 ... -
存储过程-a
2008-05-11 23:51 662create or replace PROCEDURE EMA ... -
存储过程-b
2008-05-11 23:52 794create or replace PROCEDURE Pro ...
相关推荐
这个特性使得我们无需手动为每条记录指定唯一的ID,系统会自动生成。 设置自动增长字段的步骤如下: 1. 创建新表: 在创建新表时,可以定义一个字段为自动增长类型。例如,创建一个名为`Employees`的表,包含`...
本文将深入探讨如何利用一条SQL语句在Oracle中快速生成10万条测试数据,这对于数据库管理员和开发人员来说是一项极为实用的技能。 ### 核心知识点:使用SQL生成大量测试数据 #### 1. **理解ROWNUM和CONNECT BY ...
##通过sqlcmd执行sql文件 由于sql文件过大,超过了100M,再数据库的窗口执行,结果超出内存了,对于特别大的sql文件可以使用sqlcmd进行执行 ###1.打开cmd窗口 运行–cmd–进入到sql文件所在的文件夹。 如果是win7可...
在实际生产环境下,有时需将超大规模数据(如超过2亿条)导入分区表,但因原表与目的分区表的字段不一致,且用Kettle等转换工具极易失败,而用insert into select t1,t2.. from tab的Oracle SQL方式直接执行将导致...
描述中提到,这个SQL文件包含约300万条数据,这意味着它可能是一个大规模的数据导入示例,这对于测试数据库的性能、并发处理能力和恢复机制等非常有用。在实际操作中,导入大量数据可能需要较长时间,因此在导入前,...
当在一个事务中执行多条SQL语句时,如果其中一个失败,所有操作都将回滚,确保数据的一致性。你可以通过`JdbcTemplate`的`execute`方法执行一组SQL操作,并在需要时捕获并处理异常。 5. **性能优化**:通过日志,...
加载完成后,可以通过查询数据库表来验证数据是否正确导入,或者使用SQL*Loader的自带功能如`BADFILE`和`DISCARDFILE`来追踪错误和忽略的记录。 6. **高级特性** - **转换和函数**:SQL*Loader支持在控制文件中...
if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis
针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具”的实用程序,它能够帮助我们高效地完成这项任务。这个工具通常以MHT(Multi-Part/Related)格式提供,这是一种单一文件Web页面存储格式,...
在使用SQL Pretty Printer时,用户可以导入包含多条SQL语句的文件,工具会逐一分析并进行格式化。此外,它可能还提供了自定义设置选项,允许用户根据个人喜好或团队规范调整缩进风格、换行规则、空格使用等格式细节...
2. 响应时间分析:除了记录SQL语句,SQLTracker还会记录每条语句的执行时间,这对于找出系统性能瓶颈至关重要。通过分析响应时间,可以迅速定位到耗时较长的SQL,进行优化。 3. PL/SQL过程监控:对PL/SQL过程的执行...
在SQL Server中,默认情况下单条SQL语句的最大长度为8000个字符。当使用动态SQL生成复杂的查询或更新语句时,很容易超出这个限制。例如,在进行分组统计、动态构建复杂查询等情况时,如果涉及大量的字段或条件,可能...
执行上述SQL语句后,每条记录都将包含一个额外的 `ۼԤ` 字段,显示截至该时间点的累计预计值。例如,对于第一条记录,“2013-01-01”的累计预计值为300;对于第二条记录,“2013-02-01”的累计预计值为380(即300+...
这篇笔记主要涵盖以下几个核心知识点: 1. **第一章 什么是数据库** - 数据库被定义为一种结构化的数据存储方式,它能确保数据的准确性和一致性。 - 数据库不仅仅是简单的文件,而是通过特定的结构和规则组织的...
这条命令会让光标移动到下一条SQL语句的位置。 #### 五、`save`命令 `save`命令用于保存当前编辑的SQL语句到指定的文件中。这对于需要重复使用的SQL脚本来说非常方便。例如: ``` save d:\sql\sample.sql ``` 这...
本文将深入探讨如何将100万条数据高效地导入SQL数据库,只用短短4秒钟的时间。这个壮举展示了高级编程技巧和数据库管理策略的完美结合。 首先,我们要理解SQL数据库的基本原理。SQL(Structured Query Language)是...
Access 采用 SQL 语句与 SQL 的区别 在讨论 Access 采用 SQL 语句与 SQL 的区别之前,我们需要了解 Access 和 SQL Server 的基本概念。Access 是一个桌面数据库管理系统,而 SQL Server 是一个关系数据库管理系统。...
5. **堆叠查询注入**:在一条SQL语句中执行多个查询。 三、SQL注入实战示例 以经典的登录页面为例,如果输入的用户名和密码没有被正确处理,比如: ```sql SELECT * FROM users WHERE username='$username' AND ...
这个压缩包文件"Excel导入SQLserver源码_excel2sql.zip"很可能包含了一个程序或脚本,用于自动化从Excel文件批量导入数据到SQL Server的过程。通常,这样的工具会使用编程语言如Python、C#、VB.NET或PowerShell来...
存储过程允许开发者封装多条SQL语句和事务管理,这对于处理复杂的数据库操作是很有帮助的。但当这些操作过于庞大或设计不佳时,可能导致执行效率下降。例如,一个存储过程内部的嵌套查询、循环或临时表使用,如果...