首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

完全用PL/SQL编写大型批处理程序是愚蠢的吗?

这个问答内容的答案是:

完全用PL/SQL编写大型批处理程序并不愚蠢,但是这取决于具体的需求和场景。

PL/SQL是一种强大的编程语言,它允许开发人员在Oracle数据库中编写存储过程和函数,从而实现数据库操作和业务逻辑的封装。在某些情况下,使用PL/SQL编写大型批处理程序可以带来一些优势,例如:

  1. 性能优势:由于PL/SQL程序是在数据库中执行的,因此它可以直接访问数据库中的数据,而不需要通过网络传输数据。这可以减少网络延迟和数据传输的开销,从而提高程序的性能。
  2. 事务管理:PL/SQL支持事务管理,可以保证数据的一致性和完整性。这在需要处理大量数据并且需要保证数据一致性的场景下非常重要。
  3. 封装:PL/SQL允许开发人员将业务逻辑封装在存储过程和函数中,从而实现代码的重用和模块化。这可以提高代码的可维护性和可读性。

然而,使用PL/SQL编写大型批处理程序也有一些缺点,例如:

  1. 可移植性:PL/SQL是Oracle数据库特有的编程语言,因此使用PL/SQL编写的程序可能不太容易移植到其他数据库系统中。
  2. 学习曲线:对于那些不熟悉PL/SQL的开发人员来说,学习PL/SQL可能需要一些时间和努力。
  3. 调试困难:由于PL/SQL程序是在数据库中执行的,因此调试可能比在应用程序中调试更加困难。

总之,使用PL/SQL编写大型批处理程序并不愚蠢,但是需要根据具体的需求和场景来决定。如果您需要处理大量数据并且需要保证数据一致性,同时您的团队已经熟悉PL/SQL,那么使用PL/SQL编写大型批处理程序可能是一个不错的选择。但是,如果您需要处理的数据量不大,或者您的团队不熟悉PL/SQL,那么使用其他编程语言和工具可能更加适合。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何最有效地编写SQL

解决数据库级(SQL)工作上问题,应该采用SET方法(整体)而不是过程式方法。下面来看看作者为什么这么说。 编写有效SQL查询企业软件世界中最大难题之一。...事实上,这是很自然,因为程序方法解决问题最方便的人类逻辑解决方案。另一个方面,几乎所有的SQL开发人员都在同时编写Java、c#或其他编程语言代码。...虽然使用语言开发软件一种正确方法,但在编写数据库级(SQL)查询时,却不会产生同样效果。 下面两种不同方法来解决同一个示例问题,并将结果进行比较。...在另一个例子中,常见习惯SQL语句中调用PL/SQL函数。作为过程式工作例子,也是一种解决问题方法。...还有其他一些影响在SQL内调用PL/SQL代码性能不利因素,但在本文中,不会提到性能问题。 下面编写查找客户表中每个客户购买金额代码。

1K60

Java项目实践,JDBC连接oracle数据库十大技巧

Java数据库连接(JDBC)API一系列能够让Java编程人员访问数据库接口,各个开发商接口并不完全相同。...Thin驱动程序纯Java驱动程序,它直接与数据库进行通讯。为了获得最高性能,Oracle建议在客户端软件开发中使用OCI驱动程序,这似乎正确。...此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效SQL命令。...7、使用Oracle locator方法插入、更新大对象(LOB)   OraclePreparedStatement类不完全支持BLOB和CLOB等大对象处理,尤其Thin驱动程序不支持利用PreparedStatement...8、使用SQL92语法调用存储过程   在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际好处,而且会给以后维护你应用程序开发人员带来麻烦

1K20
  • PLSQL编码规则

    所有工作都独自完成     我们很少有人孤立工作;大多数PL/SQL开发工作在相对较大机构中进行。但我们基本上还是在自己小隔间里自己设备独自工作。...一般来讲,如果我要求一致命名规则,我就可以更流畅更高效地编写代码。     明确地说,这些约定具有可预测性,意思说我编写SQL程序能生成有用脚本。...将显示PL/SQL语句灌入SQL代码很容易,同样,谈论封装这些语句如何重要也不费劲。但另一方面,编写执行封装任务代码却具有挑战性;甚至不现实。生成这些包或许更有意义。    ...当你不再编写太多SQL,而是调用执行SQL程序时,无论你生成还是编写自己定制封装,你应用程序都会受益匪浅。     3.  ...这似乎有悖于直觉,但这的确是通读逐步求精法编写程序最好方式。     第22~30行。一个游标FOR循环(cursor  FOR  loop)来对指定部门所有员工进行迭代处理。

    1.1K20

    PySpark SQL 相关知识介绍

    1.4 Veracity 你能想象一个逻辑错误计算机程序产生正确输出?同样,不准确数据将提供误导结果。准确性,或数据正确性,一个重要问题。对于大数据,我们必须考虑数据异常。...2 Hadoop 介绍 Hadoop一个解决大数据问题分布式、可伸缩框架。Hadoop由Doug Cutting和Mark Cafarella开发。HadoopJava编写。...那么,了解SQL广大用户如何利用Hadoop在大数据上计算能力呢?为了编写HadoopMapReduce程序,用户必须知道可以用来编写HadoopMapReduce程序编程语言。...Apache Derby完全Java编写Apache License Version 2.0附带开源RDBMS。...还可以使用与PL/SQL类似的过程编程语言PL/pgSQL(过程语言/PostgreSQL)对其进行编程。您可以向该数据库添加自定义函数。您可以C/ c++和其他编程语言编写自定义函数。

    3.9K40

    Web应用程序防火墙(WAF)bypass技术讨论(一)

    用到字符:/ ? t s 为什么?而不是*呢?...因为星号(*)被广泛用于注释语法(类似/ *嘿,我注释* /),许多WAF阻止它以避免SQL注入…类似于UNION+SELECT+1,2,3/ * 还可以使用echo来枚举文件和目录,echo命令可以使用通配符枚举文件系统上文件和目录...请记住,我正在使用一个不代表真实场景愚蠢PHP脚本进行此测试。...可以看到只使用了3个问号就可以绕过WAF并读取文件了,其实不能说等级3就不行,这里使用测试环境,实际真实场景并不一定能绕过。 那么能绕过等级4?...很难说配置最好WAF或者只使用最好等级规则有没有用?但是我们能了解到不应该完全信任部署在Web应用程序上均匀分布WAF规则集。事实上,我们应该根据应用程序功能配置我们WAF规则。

    2.9K40

    Postgresql PLPGSQL 程序语言系列 1 (存储过程过时了吗,与函数)

    "大喇叭" ,甚至歪曲部分内容,到底要利用这些信息吸引流量,造成全社会恐惧, 你心安?...POSTGRESQL 本身也是有强大PL/PGSQL, 有些环节和场景, 写好PL/PGSQL也是一种能力....这段第一句,在服务器程序领域将数据库看成一个数据容器最简单和无技术含量....所以你没有听过 MYSQL SQL. 因为只要是MYSQL一定是和高并发,小事务有关, 存储过程在MYSQL应用场景无法存活....下面以一个简单例子来结束今天文字 下面需要一个函数,在程序中调用,输入一个值,对输入原值,原值基础上增加100, 原值与随机值乘积,以及取输入值中最大整数值,四舍五入进行插入.如果这个使用程序编写和调用函数比较

    1.1K71

    大数据设计模式-业务场景-批处理

    大数据设计模式-业务场景-批处理 一个常见大数据场景静态数据批处理。在此场景中,源数据通过源应用程序本身或编排工作流加载到数据存储中。...批处理一个例子将一组大型扁平、半结构化CSV或JSON文件转换为一种计划化和结构化格式,以便进一步查询。...下游处理逻辑可以处理无序记录? 架构 批处理体系结构具有以下逻辑组件,如上图所示。 数据存储。通常是一个分布式文件存储库,它可以作为各种格式大量大型文件存储库。...Spark引擎支持多种语言编写批处理程序,包括Java、Scala和Python。Spark使用分布式架构跨多个工作节点并行处理数据。 数据分析存储 SQL数据仓库。...Microsoft Excel世界上使用最广泛软件应用程序之一,提供了丰富数据分析和可视化功能。

    1.8K20

    mysql declare 语法_sql_declare等语法 | 学步园

    . 3.定义delimiter 后,就表示批处理解释执行标识符 ,但是里面的语句还是不能漏掉分号,如一般sql语句后面要加分号,end if等语句后面要加分号,declare语句后面要加分号…...前提所查询列不是索引列,如果查询索引列(包括主键查询)就不需要limit 1。.../SQL PL/SQL(Procedure Language/Structuer Query Language)Oracle对标准SQL规范扩展,全面支持SQL数据操作、事务控制等。...PL/SQL完全支持SQL数据类型,减少了在应用程序和数据库之间转换数据操作。 构成PL/SQL程序基本单位程序块。程序块由过程、函数和无名块3种形式组成,它们之间可以互相嵌套。...PL/SQL运行工具有:SQL*Plus、PL/SQL developer 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171259.html原文链接:https

    3.8K20

    常常听到流处理是什么?

    因此,流处理自然适合用于近似回答充分例。 有时候,数据巨大,甚至不可能存储它。 流处理可让您处理大型火马式数据并仅保留有用位。...最后,有大量流数据可用(例如,客户交易,活动,网站访问),并且随着物联网例(所有类型传感器),它们增长速度会更快。 流式传输一种更加自然模型,可以考虑并编写这些例。...借助流式SQL语言,开发人员可以快速将流式查询合并到其应用程序中。 到2018年,大多数Stream处理器都支持通过Streaming SQL语言处理数据。 让我们了解SQL如何映射到流。...为了理解这些想法,Tyler Akidau 在 Strata演讲一个很好资源。 关于SQL流,首先要了解它用流替换表。 当你编写SQL查询时,你可以查询存储在数据库中数据。...但是,当您编写Streaming SQL查询时,您可以将它们写入现在数据以及将来数据。 因此,流SQL查询永远不会结束。 这不是问题? 否:这是因为这些查询输出流。

    1.4K20

    Oracle 数据库编程语言 PLSQL 历史

    这本书作为参考手册编写,其中不仅包含 Ada 编程语言语法,还包含 Ada 编程语言描述性中间属性表示法接口描述语言(IDL)规范。.../wiki/DIANA_(intermediate_language) PL/SQL 编译器刚开始完全复制 Ada 编程语言规范。...作为“第一位不开发编程语言本身 PL/SQL 程序员”,他编写了经典“Hello World”程序以及 PL/SQL 质量测试组件第一个版本。...还好 PL/SQL 在第一个版本中没有实现完全,因为数据库团队和 PL/SQL 团队都互相学习到了许多东西。每个团队都从另一个团队中注意到其它团队问题。”...因此,无论操作算子地址多么复杂,都可以将其作为单字节代码指令一部分进行检索。这次变化大大减少了指令解码开销,并使大型 PL/SQL 程序有了可行度。

    1.6K20

    2021年大数据Spark(四十四):Structured Streaming概述

    Apache Spark在2016年时候启动了Structured Streaming项目,一个基于Spark SQL全新流计算引擎Structured Streaming,让用户像编写批处理程序一样简单地编写高性能流处理程序...本质上,这是一种micro-batch(微批处理方式处理,思想去处理流数据。这种设计让Spark Streaming面对复杂流式处理场景时捉襟见肘。...这个性能完全来自于Spark SQL内置执行优化,包括将数据存储在紧凑二进制文件格式以及代码生成。...2:Program API(编程 API) Structured Streaming 代码编写完全复用 Spark SQL batch API,也就是对一个或者多个 stream 或者 table...unbound table无界表,到达流每个数据项就像是表中一个新行被附加到无边界表中,静态结构化数据批处理查询方式进行流计算。

    83230

    一文读懂Apache Spark

    摘要:Apache Spark快速、灵活、开发友好,大型SQL批处理、流处理和机器学习主要平台。...Spark SQL Spark SQL最初被称为“鲨鱼”,对Apache Spark项目变得越来越重要。在创建应用程序时,它很可能当今开发人员最常用接口。...你可以为你批处理需求编写MapReduce代码,并为实时流需求使用类似Apache Storm东西。...这显然导致了不同代码,它们需要在应用程序领域保持同步,尽管它们基于完全不同框架,需要不同资源,并涉及运行它们不同操作关注点。...结构化流 结构化流Structured Streaming(在Spark 2.x中添加)将会改进Spark SQL对Spark Core API优化:更高级别的API和更容易编写应用程序抽象。

    1.7K00

    开源OLAP系统比较:ClickHouse、Druid和Pinot

    如果您要部署其中一个系统大型集群并关心效率,那么我保证您例将遇到其独特瓶颈,特定OLAP系统开发人员以前从未遇到过或没有遇到过不在乎。...请注意,ClickHouseC ++,Druid和PinotJava编写。 或者,您组织应与提供所选系统支持公司签订合同。...每行相对重要性对于不同应用程序不同,但是如果您应用程序由表中一列许多属性描述,而由另一列无或几个属性描述,则很可能应该从列标题中选择相应系统。...相反,这意味着Druid或Pinot可能会成为更好解决方案,但是在某些应用中,即使对于大型集群,ClickHouse最终也可能更理想选择,即使对于大型集群也是如此。...将SQL数据库作为依赖项弊端更大操作负担,尤其在组织中尚未建立某些SQL数据库情况下。Druid支持MySQL和PostgreSQL,Microsoft SQL Server有一个社区扩展。

    2.4K21

    HAWQ技术解析(一) —— HAWQ简介

    Hive对MapReduce完全依赖会导致查询很大延迟,其主要适用场景批处理模式。...从传统上意义上说,这些功能中大部分在分析数据仓库都能找到。 功能 业务好处 丰富且合规SQL支持 功能强大可移植SQL应用程序。能够利用基于SQL数据分析和数据可视化工具大型生态系统。...丰富且完全兼容SQL标准 HAWQ100%符合ANSI SQL规范并且支持SQL 92、99、2003 OLAP以及基于HadoopPostgreSQL。...对企业来说,好处有一个庞大商业智能、数据分析和数据可视化工具生态系统,由于该系统完全符合SQL支持规范,因此打开后立即可与HAWQ配合使用。...另外,越过HAWQ编写分析应用程序可以轻松移植到其它符合 SQL规范数据引擎上,反之亦然。这可以防止供应商锁定企业并在控制业务风险同时促进创新。 2.

    7.3K23

    最新38道Java面试题解析(MyBatis+消息队列+Redis)

    程序员直接编写原生态 SQL,可以严格控制 SQL 执行性能,灵活度高。 2....基于 SQL 语句编程,相当灵活,不会对应用程序或者数据库现有设计造成任何影响,SQL 写在 XML 里,解除 SQL程序代码耦合,便于统一管理;提供XML标签,支持编写动态 SQL 语句,并可重用...SQL 语句编写工作量较大,尤其当字段多、关联表多时,对开发人员编写 SQL 语句功底有一定要求; 2. SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。...MyBatis 和 Hibernate不同,它不完全是一个 ORM 框架,因为 MyBatis 需要程序员自己编写 SQL 语句;Hibernate 对象/关系映射能力强,数据库无关性好,对于关系模型要求高软件...与 JDBC 批处理相同。 十一、MyBatis 动态 SQL 做什么?都有哪些动态 SQL?能简述一下动态 SQL执行原理不? 1.

    70610

    大数据分析平台 Apache Spark详解

    Apache Spark一款快速、灵活且对开发者友好工具,也是大型SQL批处理、流处理和机器学习领先平台。自从 Apache Spark 2009 年在 U.C....Spark 可以多种方式部署,它为 Java、Scala、Python,和 R 编程语言提供了本地绑定,并且支持 SQL、流数据、机器学习,和图处理。...以前,Apache Hadoop 世界中批处理和流处理不同东西。您可以为您批处理需求编写 MapReduce 代码,并使用 Apache Storm 等实时流媒体要求。...这显然导致不同代码库需要保持同步应用程序域,尽管基于完全不同框架,需要不同资源,并涉及不同操作问题,以及运行它们。...核心 API 一样:这是一个更高级别的 API,更易于编写应用程序

    2.9K00

    PostgreSQL 14 会破坏其官方.NET 和 Java 驱动

    对于 Java JDBC 和.NET ADO.NET 数据库驱动框架,它们存在一个共同点,那就是都支持使用分号实现 SQL 语句批处理批处理对提高性能十分必要。...但如果使用批处理一次执行一批语句,那么只需付出一次通信代价。 事实上,SQL Server 等数据库将批处理语句作为一个庞大 SQL 字符串整体发送。...使用 SQL 标准语法编写函数或过程能快速解析,并存储为解析树形式。这可更好地追踪函数依赖关系,并具有更好安全性。...完全支持语句拆分或是要去更改 API,或是要去新建一个更复杂解析器。 Npgsql 已关注当前解析器开销问题,决定更改 API。...在金融部门编写五年自动交易系统后,他成为多个项目的顾问,其中包括机器人仓库 UI、癌症研究软件中间层,以及解决一家大型房地产保险公司大数据需求。在空闲时间,他喜欢研习 16 世纪武术。

    78730

    MyBatis简介

    简 单说,ORM通过使用描述对象和 数据库之间映射元数据,将程序对象自动持久化到关系型数据库中。为什么说Mybatis半自动ORM映射工具?它与全自动区别在哪里?...Mybatis优缺点MyBatis一款优秀ORM框架,它主要优点和缺点如下:优点:灵活性高:MyBatis支持自定义SQL语句、存储过程和高级映射,可以根据业务需求自由编写SQL语句。...不适合大型项目:MyBatis适合于中小型项目,对于大型项目来说,可能需要使用其他ORM框架来提高性能和可维护性。...(2)执行阶段:在执行SQL语句之后,MyBatis会将SQL语句结果映射到Java对象中,并返回给应用程序。...这种方式可以避免SQL注入攻击,但需要手动编写SQL语句。

    58420

    Oracle数据库相关经典面试题

    实例理解,与数据库对应关系 答∶ Oracle实例来进行数据库管理,实例在用户和orale数据库之间充当中间层角色。...解释函数,存储过程,包 答∶ 都是命名块,函数与过程pl/sql代码集合,通常是为了完成一个业务,过程可以不返回任何值,但函数必须有返回值。包是为了完成某个完整功能一组函数与过程集合。...悲观锁通过在sql语句上加入 for update,乐观锁可以通过增加一列version或者timestamp在应用程序中实现,Hibernate采用乐观锁版本戳。 索引作用?...答∶ Pl/sql 块结构包括:定义部分,执行部分,异常处理部分。 Oracle中字符串什么符号链接?...答∶ 建索引、使用游标、批处理、使用分页、使用存储过程、设置缓存尽可能设大一点。 sql语句执行顺序?

    2.2K20
    领券