• 2024-06-05使用Apache POI操作Excel
    案例一:(创建工作表)在使用ApachePOI操作Excel时,如果要处理大量的数据(例如十万级别的行),则需要特别注意性能优化。以下是一些优化建议和详细说明:使用SXSSFWorkbook:SXSSFWorkbook是XSSFWorkbook的流式版本,可以有效地节省内存,因为它会将数据写入磁盘而不是全部保存在内存中。这是
  • 2024-05-22mysql 分组加行号
    mysql示例SELECTcasewhen@currentid<>t.idthen@rownum:=1else@rownum:=@rownum+1endASrow_num,casewhen@currentid<>t.idthen@currentid:=t.idelse@currentidendASrow_num,ID,
  • 2024-04-12一个糟糕的数据库架构设计优化案例
    聊聊一个糟糕的数据库架构设计带来的问题。技术人人都可以磨炼,但处理问题的思路和角度各有不同,希望这篇文章可以抛砖引玉。以一个例子为切入点一、问题背景某系统已经线上运行多年,数据量随着时间的推移越来越大。公司业务量还在不断增加,已经潜在威胁数据库的运行效率,急需清理历
  • 2024-03-30openGauss 伪列ROWNUM
    伪列ROWNUM可获得性本特性自openGauss1.0.1版本开始引入。特性简介ROWNUM为查询出来的每一行记录生成一个序号,从1开始依次递增且不会重复。客户价值兼容Oracle特性,方便数据库迁移。与LIMIT特性类似,能够筛选出结果集的前n条记录。特性描述ROWNUM(伪列),用于对SQL查询中符
  • 2024-03-27Oracle 分页查询,排序分页
    效率最高内查询小于等于外查询大于select*from(selectt.*,rownumasnfromSTUDENTtwhererownum<=4)twheret.n>2orderbyt.iddesc;查看执行计划explainplanforselect*from(selectrownumasn,d.*fromdeptdwhererownum<=4)twheret.n>
  • 2024-03-25数据脱敏
    updateqc_rd_indexssetCHECK_USERS=(select(selectwm_concat(to_char(replace(REGEXP_SUBSTR(CHECK_USERS,'[^,]+',1,
  • 2024-03-13开启线程处理数据,提高响应速度
    //此线程类必须实现Runnable接口publicclassXmzNoticeErrorThreadimplementsRunnable{privateICertImportErrorRecServiceiErrorRecService=ContainerFactory.getContainInfo().getComponent(ICertImportErrorRecService.class);privatei
  • 2024-03-05Oracle中ROWNUM伪列的使用
    1.问题ROWNUM作为Oracle提供的一种伪列,有着其特殊性,必须谨慎使用,不然就很可能引发错误!注意:ROWNUM是一个伪列,在查询的结果中动态分配行号!!!也就是会所在查询过程无法直接诶使用ROWNUM,一般使用子查询作为过渡参考:Oracle中rownum的基本用法2.错误2.1错误:ORA-00904:
  • 2024-03-05Oracle中不允许表的列名称使用Oracle声明的关键字! (ORA-01747: user.table.column, table.column 或列说明无效)
    1.问题ORA-01747:user.table.column,table.column或列说明无效--Oracle下,根据商品价格从高到低取4-6名商品SELECT*FROM( SELECTROWNUM,t1.* FROM( SELECTprod_name,prod_price FROMPRODUCTS ORDERBYPROD_PRICEDESC )t1 WHEREROWNUM<=6
  • 2023-11-03oracle分页
    SELECTFROM  (  SELECT    T.,    ROWNUMRN  FROM    (SELECT*FROM表名WHERE条件)T  WHERE    ROWNUM<=((currentPage-1)*pageSize+pageSize)  )WHERE  RN>((currentPage-1)*pageSize)
  • 2023-10-21oracle怎样分批查询
    在Oracle中,分批查询通常是通过使用"分页"的方式来实现的。可以使用ROWNUM伪列、OFFSET关键字和FETCHFIRST关键字来完成分页查询。具体地,可以使用如下的SQL语句进行分页查询:SELECT*FROM(SELECTA.*,ROWNUMRNFROM(SELECT*FROMyour_tableWH
  • 2023-10-20Oracle 查询排名第几到第几行的数据(rownumber效率最高)
    查询排名第5到第10行的数据  实现效率最高,如果是在前端页面用循环选择,效率是很慢的。ROWNUM是Oracle加在查询数据集的伪字段,记录的是每一行的行号。--第三步查询需要的几行数据SELECTA.NAME,A.FW_TIMESTAMPFROM(--第二步加排序编号ROWNUMSELECTA.NAME,A.FW_TIMES
  • 2023-10-16oracle-rownum详解
    Oracle中的rownum用法详解:rownum是Oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,返回的第二行分配的是2,这个为字段可以用于限制返回查询的总行数,且rownum不可以以任何表的名称作为前缀。 1.rownum对于等于某值的查询条件:如果想找到第一条查询数据,可以
  • 2023-10-02主流常见关系数据库分页sql语句写法。MySQL、PostgreSQL、SQLite、Oracle、DB2、SQL Server。limit、offset、fetch、rownum
    前言1.分页sql逻辑:每页10条,取第3页。即取第21~30条数据1.1.MySQL/SQLite/PostgreSQLselect*fromdemolimit10offset20;select*fromdemolimit20,10;--PostgreSQL不支持该写法1.2.Oracle12C+Oracle11g之前很难用,Oracle12C+与MySQL用法格式一样了,只是语法关
  • 2023-09-20Sql Server分组排序及生成序列号
    1--1.分组排序2SELECT*,ROW_NUMBER()OVER(PARTITIONBY@fileName,@fileName1ORDERBYIDDESC)ASrowNumFROM@tableName34--2.生成序列号5SELECT*,ROW_NUMBER()over(orderbyidASC)ASrowNumFROM@tableName 翻译搜索复制
  • 2023-08-236、oracle迁移到postgres-分页问题
    目录oracle迁移到postgres-分页问题1、oracle使用rownum进行分页2、postgres使用limit进行分页3、使用FETCH统一的分页方式oracle迁移到postgres-分页问题1、oracle使用rownum进行分页select*fromss_stuwhererownum<=10;2、postgres使用limit进行分页select*froms
  • 2023-08-17row_number()和rownum排序的区别
    在Oracle中使用ROW_NUMBER()和ROWNUM进行排序时,它们的性能可能会有一些差异。以下是它们之间的一些对比:ROW_NUMBER()排序:ROW_NUMBER()是一种窗口函数,可以为结果集中的每一行分配一个唯一的行号,并且可以根据指定的排序字段进行排序。ROW_NUMBER()函数通常在内部执行排序操作,然后为
  • 2023-08-03Vuejs+WebApi导出Excel
    前后端分离,前端Vuejs,后端.Net6WebApi后端代码1publicclassSalesReportController:BaseController2{3privateSerilog.ILogger_log=GetLogger<SalesReportController>();4privatereadonlyISqlSugarClient_db;5privateIHostEnvironme
  • 2023-07-26sql优化
    1.SQL语句大写因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2.表别名多表join时,尽量使用表别名,同时把表别名前缀于每一列上,减少解析的时间及由列歧义引起的语法错误3.from从右到左解析表名from子句中写在最后的表(基础表也称为驱动表,drivingtable)将被最先
  • 2023-07-17MyBatis
    1、MyBatis分页原理(1)(2)使用插件:拦截器拼接分页sql进行物理分页(mysql-limitoracle-rownum)PageHelper是MyBatis的一个插件,内部实现了一个PageInterceptor拦截器。Mybatis会加载这个拦截器到拦截器链中。在我们使用过程中先使用PageHelper.startPage这样的语句在当前线程上下文中
  • 2023-07-15联合查询后,索引无效原因分析
    在一次项目中需要甲方提供视图给我们,甲方是通过union合并两个表格生成视图给我们,但在查询过程中发现加了主键条件后,没走索引,造成15分钟依据不能出来数据,后来在本地数据库新建两个表测试,合并生成视图后是可以走两个子表的索引,于是在本地按照甲方的表结构创建表并导入部分测
  • 2023-07-12Oracle中rownum与order by的执行顺序 正确的写法应该是:先order by,先包一层查询,再赋rownum值
    Oracle中rownum与orderby的执行顺序正确的写法应该是:先orderby,先包一层查询,再赋rownum值原文链接:https://blog.csdn.net/u013456370/article/details/122366975selectid,createdate,finvoutypefromnc_ext_fa_ls_pz_hzdocdocwheredoc.company='3000004'andd
  • 2023-07-02SQL注入之Oracle手工注入
    0x00.Oracle注入1.Oracle的数据类型是强匹配的(MYSQL有弱匹配的味道),所以在Oracle进行类似UNION查询数据时候必须让对应位置上的数据类型和表中的列的数据类型是一致的,也可以使用null代替某些无法快速猜测出数据类型的位置。1.基础知识//注释符多行注释:/**/,单行注释:--1
  • 2023-06-30cpp: Two-level pointer and double dimensional array
    /*****************************************************************//***\fileConsoleTextFileDemoApp.cppc++14*\brief***\authorgeovindu*\dateJune2023*********************************************************************/
  • 2023-06-17Oracle 三种分页方法
    Oracle的三层分页指的是在进行分页查询时,使用三种不同的方式来实现分页效果,分别是使用ROWNUM、使用OFFSET和FETCH、使用ROW_NUMBER()OVER()1.使用ROWNUM ROWNUM是Oracle中一个伪列,它用于表示返回的行的序号。使用ROWNUM进行分页查询的方法是在SELECT语句中加入WHERE子句,并在WHERE