在Oracle 中 in的个数不能超过1000,但是这个语句中最多只能29个,大神求解 5C
select regexp_substr((select visavis from empassess where id = 151),
                             '[^,]+',
                             1,
                             level) 
          from dual

        connect by regexp_substr((select visavis
                                   from empassess
                                  where id = 151),
                                 '[^,]+',
                                 1,
                                 level) is not null)
 order by id

在这语句中是有31条数据;图片说明

select count(id)
  from hrmresource
 where id in
       (select regexp_substr((select visavis from empassess where id = 151),
                             '[^,]+',
                             1,
                             level)
          from dual

        connect by regexp_substr((select visavis
                                   from empassess
                                  where id = 151),
                                 '[^,]+',
                                 1,
                                 level) is not null)

图片说明

但是这个只有29条,

前提说明一下,这个hrmresource 表中存在这个31个的ID

所以求助这个是什么原因导致

3个回答

29说的是嵌套的层数。因为数据库查询不像编程语言可以递归调用,都需要展开的,所以这个层数在不同数据库里都不是很大,access是8层,sql server是16层,oracle30层已经不小了。

是不是id有重复导致的呢

我遇到过这个现象,不只对你是否有帮助,实表100条记录,语句查询90条记录,感觉很不可能,oracle出问题了?
最后发现是index信息不及时造成,删掉走的那个索引重建就是100条数据了。
你或者加个 select /*+ no_index(t1 idx_t1)*/ * from t1 where n=1;看看结果

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle中如何对多个字段的值进行判断并计数
数据库中根据业务表创建了视图,存储有SSRQ1-6、SSJB1-6共12个字段,同时新增了四个字段S1-S4用来存储SSJB1-6中对应数值的计数 ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572247312_74401.png) 业务场景为: 每一条数据表示一个个案,需要统计每个个案中各级别手术的个数 业务需求是: 当SSRQ1-6中任意两个字段有相同值时,取SSJB1-6中数值最大的,在对应的级别下计数+1; 当SSRQ1-6中存在不同值时,每个对应的SJJB都需要取,在对应的级别下计数+1 例如: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572247518_459812.png) 28日有二级/三级手术,取三级手术,S3下计数+1; 29日有一级/二级手术,取二级手术,S2下计数+1; 14日有四级手术,S4下计数+1; 汇总后该条个案对应的S1-S4分别为0/1/1/1 求问大神这样用sql语句怎么实现 case when 和decode都试过了
SQL语句参数个数不对,求解
MySQL没问题,换成Oracle就报错了。真郁闷 现在不清楚是Oracle问题,还是DbUtils的问题。 Stacktrace:] with root cause java.sql.SQLException: Wrong number of parameters: expected 4, was given 3 Query: insert into t_user(id,name,password) values(?,?,?) Parameters: [18, tom23333, tom11] at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392) at org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:610) at org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:534) at org.apache.jsp.NewFile_jsp._jspService(NewFile_jsp.java:157) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
oracle数据库多表查询外加求和,哪位大神来帮帮忙!
现在有三张表,一张基本信息表,一张人员表,一张统计表,查询信息表和人员表,把信息插入到统计表,然后人员表有一个字段是不同的值,需要求不同值得个数,把个数插入到统计表得某一字段当中,需要相加四次,插入四次,哪位大神来帮忙操作一波,附图![图片说明](https://img-ask.csdn.net/upload/201905/23/1558616505_254217.png)求助啊!!!!! 能写出来存储过程的sql语句就更完美了!!!!!
把这个oracle存储转换成DB2储存过程,怎么转换。急!急!急!
--存储过程包 CREATE OR REPLACE PACKAGE Pkg_Deal_Data AS -- Author : liuchj@sunline.cn -- Created : 2016/4/1 21:07:57 -- Purpose : 会计流水数据整理 PROCEDURE Com_Main(Pi_Pckgdt IN VARCHAR2); --报文 END Pkg_Deal_Data; CREATE OR REPLACE PACKAGE BODY Pkg_Deal_Data IS PROCEDURE Deal_Data(Pi_Pckgdt IN VARCHAR2 --传入报文参数 ) IS i_Count INT; BEGIN --请将如下语句替换为生成gli_vchr的代码 i_Count := 1; --//结束 END Deal_Data; PROCEDURE Deal_Succ(Pi_Pckgdt IN VARCHAR2) IS --传入报文参数 BEGIN UPDATE Glo_Imdt g SET g.Status = '5' WHERE g.Bathid = pkg_pub.get_pkgstr('batchid', Pi_Pckgdt) AND stacid = pkg_pub.get_pkgstr('user_stacid', Pi_Pckgdt) AND plancd = pkg_pub.get_pkgstr('plancd', Pi_Pckgdt); commit; END Deal_Succ; PROCEDURE Deal_Error(Pi_Pckgdt IN VARCHAR2 --传入报文参数 ) IS BEGIN UPDATE Glo_Imdt g SET g.Status = '6' WHERE g.Bathid = pkg_pub.get_pkgstr('batchid', Pi_Pckgdt) AND stacid = pkg_pub.get_pkgstr('user_stacid', Pi_Pckgdt) AND plancd = pkg_pub.get_pkgstr('plancd', Pi_Pckgdt); commit; END Deal_Error; PROCEDURE Com_Main(Pi_Pckgdt IN VARCHAR2 --传入报文参数 ) IS BEGIN Deal_Data(Pi_Pckgdt); Deal_Succ(Pi_Pckgdt); EXCEPTION WHEN OTHERS THEN Deal_Error(Pi_Pckgdt); END Com_Main; END Pkg_Deal_Data; --函数包 CREATE OR REPLACE PACKAGE Pkg_Pub IS FUNCTION Get_Pkgstr(Pi_Fildna IN VARCHAR2, --字段名称 Pi_Pkgstr IN VARCHAR2) --报文字符串 RETURN VARCHAR2; --字段对应的值(如果是循环字段则返回第一个字段的值) END Pkg_Pub; CREATE OR REPLACE PACKAGE BODY Pkg_Pub IS c_Trans_Char CONSTANT VARCHAR2(1) := '\'; --转义字符 c_Level_Delimiter CONSTANT VARCHAR2(1) := ':'; --层次分隔符 c_Name_Value_Delimiter CONSTANT VARCHAR2(1) := '='; --字段值分隔符 c_Field_Delimiter CONSTANT VARCHAR2(1) := '|'; --字段分隔符 /** 取得字段值的位置: 如果是在第一个,不需要匹配'|' 1、找出filed字段的起始值,必须是该字段前后为空、或者前后都必须为4个特殊字符,方能匹配 */ FUNCTION Field_Pos(Pi_Source VARCHAR2, Pi_Param VARCHAR2) RETURN INT IS l_Lipos PLS_INTEGER; --字段结束位置 l_Length PLS_INTEGER; l_Bgchar VARCHAR2(20); l_Edchar VARCHAR2(20); BEGIN BEGIN l_Length := Length(Pi_Source); l_Lipos := Instr(Pi_Source, Pi_Param); --没有找到字段直接返回0 IF l_Lipos = 0 THEN RETURN(0); END IF; WHILE (l_Lipos < l_Length) LOOP l_Bgchar := ''; l_Edchar := ''; IF l_Lipos <> 1 THEN --操作字符串在中间的数据 l_Bgchar := Substr(Pi_Source, l_Lipos - 1, 1); END IF; --取出字段结束后的第一个字符 l_Edchar := Substr(Pi_Source, Length(Pi_Param) + l_Lipos, 1); --判断字符后的第一个字符是否为特殊字符,为特殊字符就认为找到该字段的值 IF ((l_Bgchar IN (c_Trans_Char, c_Level_Delimiter, c_Name_Value_Delimiter, c_Field_Delimiter) OR l_Bgchar IS NULL) AND (l_Edchar IN (c_Trans_Char, c_Level_Delimiter, c_Name_Value_Delimiter, c_Field_Delimiter) OR l_Edchar IS NULL)) THEN RETURN(l_Lipos); END IF; l_Lipos := Instr(Pi_Source, Pi_Param, l_Lipos + 1); IF l_Lipos = 0 THEN RETURN(0); END IF; END LOOP; --循环到结束都未找到,则表示无法找到 RETURN(0); END; END; /* 2、找出该filed是否有转义符,从filed字段后=处向前推转义符个数,拼成对应都转移字符串 */ FUNCTION Trans_Str(Pi_Source VARCHAR2, Pi_Param VARCHAR2, Pi_Fieldpos INT) RETURN VARCHAR2 IS l_Str VARCHAR2(20); l_Del_Len PLS_INTEGER := 0; --分隔符长度 l_Del_Bgpos PLS_INTEGER := 0; --=分隔符掉起始位置 l_Del_Edpos PLS_INTEGER := 0; --=分隔符掉结束位置 BEGIN BEGIN l_Del_Bgpos := Pi_Fieldpos + Length(Pi_Param); --=分隔符掉起始位置 --从filed结束后掉第一个与分割匹配的位置 l_Del_Edpos := Instr(Pi_Source, c_Name_Value_Delimiter, l_Del_Bgpos); --c_Name_Value_Delimiter := '='; --字段值分隔符 --分隔符长度: l_Del_Len := l_Del_Edpos - l_Del_Bgpos; l_Str := Substr(Pi_Source, l_Del_Bgpos, l_Del_Len); RETURN(l_Str); --c_Trans_Char := '\'; --转义字符 END; END Trans_Str; /** 3、从filed的=后一直匹配到第一个“转移字符+|”到字符,并且前后都没有转移字符为止,否则向后找,如果遍历完成后都没有,则返回空字符串 */ FUNCTION Value_Pos(Pi_Lsstr VARCHAR2, Pi_Field_Delimiter VARCHAR2) RETURN INT IS l_Lipos PLS_INTEGER; --字段结束位置 l_Length PLS_INTEGER; l_Char VARCHAR2(20); BEGIN BEGIN l_Length := Length(Pi_Lsstr); l_Lipos := 0; WHILE (l_Lipos <= l_Length) LOOP l_Lipos := l_Lipos + 1; l_Lipos := Instr(Pi_Lsstr, Pi_Field_Delimiter, l_Lipos); l_Char := Substr(Pi_Lsstr, l_Lipos - 1, 1); IF l_Char <> c_Trans_Char THEN RETURN(l_Lipos); END IF; END LOOP; RETURN(0); END; END Value_Pos; /** 替换掉值中掉转义符 */ FUNCTION Value_Notranc(Pi_Values VARCHAR2) RETURN VARCHAR2 IS l_Values VARCHAR2(32767); BEGIN BEGIN l_Values := Pi_Values; l_Values := REPLACE(l_Values, '\\', '\'); l_Values := REPLACE(l_Values, '\=', '='); l_Values := REPLACE(l_Values, '\|', '|'); l_Values := REPLACE(l_Values, '\:', ':'); RETURN(l_Values); END; END; /* 取报文信息,不支持字段名(Pi_Fielna)中有特殊字符":\=|"这4个字符 查找方式: 1、找出filed字段的起始值,必须是该字段前后为空、或者前后都必须为4个特殊字符,方能匹配 2、找出该filed是否有转义符,从filed字段后=处向前推转义符个数,拼成对应都转移字符串 3、从filed的=后一直匹配到第一个“转移字符+|”到字符,并且前后都没有转移字符为止,否则向后找,如果遍历完成后都没有,则返回空字符串 4、替换掉值中的转义符 */ FUNCTION Get_Pkgstr(Pi_Fildna IN VARCHAR2, --字段名 Pi_Pkgstr IN VARCHAR2) --报文字符串 RETURN VARCHAR2 IS --字段对应的值(如果是循环字段则返回第一个字段的值) l_Result VARCHAR2(32767); l_Lisublen INT; l_Lilen INT; l_Lsstr VARCHAR(32767); l_Lipos1 INT; l_Lipos2 INT; l_Fieldpos INT; --字段field的起始位置 l_Param VARCHAR(255); l_Source VARCHAR2(32767); l_Trans_Str VARCHAR(20); --转移字符串 BEGIN l_Source := Ltrim(Rtrim(Pi_Pkgstr)); l_Param := Ltrim(Rtrim(Pi_Fildna)); l_Result := NULL; l_Lipos1 := 0; l_Lipos2 := 0; l_Lisublen := 0; l_Lsstr := l_Source; l_Lilen := Length(l_Source); l_Fieldpos := 0; BEGIN --取得l_param字段到精确位置 l_Fieldpos := Field_Pos(l_Source, l_Param); --无法取得字段 IF l_Fieldpos <= 0 THEN --c_Trans_Char := '\'; --转义字符 l_Result := NULL; GOTO Oklable; END IF; --如果找到,则取值 l_Lsstr := Substr(l_Lsstr, l_Fieldpos, l_Lilen); ----当前转移级次转义符字符串 l_Trans_Str := Trans_Str(l_Source, l_Param, l_Fieldpos); l_Lipos1 := Instr(l_Lsstr, l_Trans_Str || c_Name_Value_Delimiter) + Nvl(Length(l_Trans_Str), 0); --c_Name_Value_Delimiter := '=' --字段值分隔符 --确定值到结束 l_Lipos2 := Value_Pos(l_Lsstr, l_Trans_Str || c_Field_Delimiter); IF (l_Lipos2 > (l_Lipos1 + 1)) THEN l_Result := Ltrim(Rtrim(Substr(l_Lsstr, l_Lipos1 + 1, l_Lipos2 - l_Lipos1 - 1))); --dbms_output.put_line(l_result); ELSIF (l_Lipos2 = (l_Lipos1 + 1)) THEN l_Result := NULL; ELSIF (l_Lipos1 = 0 AND l_Lipos2 = 0) THEN l_Result := NULL; ELSE l_Result := Ltrim(Rtrim(Substr(l_Lsstr, l_Lipos1 + 1, l_Lilen))); END IF; GOTO Oklable; <<oklable>> RETURN(TRIM(Value_Notranc(l_Result))); END; END Get_Pkgstr; END Pkg_Pub;
sql语句问题,如何在多表关联下,在重复数据里面,根据某一个唯一的值,sum另一个值的和。
``` select distinct cl.description 数据批次, s.rolegroupdescription 拨打小组, count(distinct oj.customer_guid)分配数量, sum(case when t1.calltype=2 and t1.stringfield1='CTI' then 1 else 0 end) 拨打次数, count(distinct case when t4.calltype=2 then t1.customer_guid end) 接通客户数, sum(case when t4.calltype=2then 1 else 0 end) 接通个数, sum(case when t1.calltype=2 and t1.stringfield1='CTI' and floor((t4.endtime- t4.starttime)*24*60)>1 then 1 else 0 end) 一分钟以上个数, count(distinct co.appl_no) 成交件数, sum(distinct year_premium) 成交业绩 from customer c left join (select * from gd_ods_core where cntr_stat in ('K','L','M')) co on co.mobile=c.mobile inner join objective oj on oj.customer_guid=c.customer_guid left join event t1 on c.customer_guid=t1.customer_guid inner join custlists cl on c.stringfield1= cl.custlist_xxx inner join gd_temp_staff s on oj.tlallot =s.staff_id inner join (Select customer_guid,max(createddate) as maxcreateddate from objective where tlallot is not null group by customer_guid)L on oj.customer_guid=L.customer_guid and oj.createddate=L.maxcreateddate left join record t4 on t4.customer_guid = t1.customer_guid and t4.event_guid = t1.event_guid and t4.staff_id = t1.handleby_id where cl.CustList_xxx='CustList_jtkh20170623hh32' group by cl.description,s.rolegroupdescription order by cl.description ``` 现在问题是最后取成交金额sum(year_premium) 这里,因为数据重复,所以直接sum会大很多,但如果直接sum(distinct year_premium),会导致不同成交件,但相同交易金额的数給剔除,那就造成金额少了。 gd_ods_core成单表本身是唯一,但由于统计数据的要求,关联了电话拨打表“event”数据分配表“objective”和电话录音表“record”,客户电话拨打得越多,重复数量就越多,如果直接select 成单表gd_ods_core的话,要统计分配数量、拨打次数、接通次数就不准。 请帮忙提供如何根据appl_no(唯一单号)来sum year_premium(业绩金额) 或提供完全不同逻辑 ![sum(distinct year_premium的情况)](https://img-ask.csdn.net/upload/201711/09/1510211694_467545.jpg) ![sum(year_premium的情况](https://img-ask.csdn.net/upload/201711/09/1510211721_445408.jpg) 两个图都没办法准确统计业绩金额。
oracle的SQL(级联操作,可以挑战试试),结果返回到页面
![图片说明](https://img-ask.csdn.net/upload/201607/31/1469941742_299534.png) ## # **表一:** select * from T21_EAP_ACC_PUNISH_INFO --员工问责处罚信息表 accbaseid 员工问责基础信息id punishwaye 处罚方式(01,纪律处分;02,组织处理;03,经济扣罚) punishtype 处罚种类 ( 纪律处分','01','警告', 纪律处分','02','记过' 纪律处分','03','记大过' 纪律处分','04','降职',' 纪律处分','05','撤职', 纪律处分','06','留用察看' 纪律处分','07','开除', '组织处理','01','诫勉谈话', '组织处理','02','通报批评' 组织处理','03','调离原岗位 组织处理','04','解聘专业技术职务', '组织处理','05','免职',' 组织处理','06','责令辞职' 组织处理','07','解除劳动合同' 经济处罚','01','扣减薪酬', 经济处罚','02','降低薪酬等级', 经济处罚','03','要求赔偿经济损失' 经济处罚','04','经济处罚') punishmoney 处罚金额(元) 处罚时间time 时间(‘YYYY-MM-DD’) ## # **表二:** select * from t21_eap_acc_base_info --员工问责基础信息表 accbaseid 主键 username 被处罚人姓名 usercode 被处罚人编号 postlevel 被处罚时时岗位层级 ('01','客户经理 '02','部门负责'03','支行行长'04','一般员) politicalstatus 政治面貌 (01,党员;02,共青团员,03,明主党派,04,其他党派) joblevel 被处罚时职务层级 (01','一般人员',02','中层管理人员03','中层以上人员) punishorgcode 处罚机构号 punishorgname 机构名称 每个对应的信息在本机构的个数(oracle数据库) 请给位大神指导,这个sql语句咋写?
请问这样的SQL语句怎么样优化呢?查询时间好久啊
[code="java"]select f.pc_name, f.phc_name, (select count(1) from p_resident c where c.phc_id = f.phc_id and c.pr_income is not null and c.pr_income < 4000) fourqian, (select count(1) from p_resident c where c.phc_id = f.phc_id and c.pr_income is not null and c.pr_income >= 4000 and c.pr_income < 5000) fourfiveqian, (select count(1) from p_resident c where c.phc_id = f.phc_id and c.pr_income is not null and c.pr_income >= 5000 and c.pr_income < 6000) fivesixqian, (select count(1) from p_resident c where c.phc_id = f.phc_id and c.pr_income is not null and c.pr_income >= 6000 and c.pr_income < 7000) sixsevenqian, (select count(1) from p_resident c where c.phc_id = f.phc_id and c.pr_income is not null and c.pr_income >= 7000) sevenqian from (select t.pc_name, a.phc_name, a.phc_id from p_community t, p_home_community a where t.pc_id = a.pc_id and t.pc_id in (select c.po_id from p_organization c start with c.po_id = 5027 connect by prior c.po_id = c.po_parent_id)) f [/code] 按地区统计各个阶段收入的个数,查询要好长时间
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
阿里P8数据架构师:顶级开发者都在用什么数据库?
其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。 最近看一篇国外的开源产品提供厂商的一篇文字,主要是在询问了他的几百位客户后得出了下图中的2019年数据库的使用趋势。 从图中可以看出,MySQL以38.9...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
互联网公司分布式系统架构演进之路
介绍 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 例如:电商系统可以拆分成商品,订单,用户等子系统。这就是分布式,而为了应对并发,同时部署好几个用户系统,这就是集群 1 单应用架构 2 应用服务器和数据库服务器分离 单机负载越来越来,所以要将应用服务器和数据库服务器分离 3 应用服务...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
程序员需要了解的硬核知识之汇编语言(一)
之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高级语...
OpenCV-Python 绘图功能 | 七
目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等。 代码 在上述所有功能中,您将看到一些常见的参数,如下所示: img:您要绘制形状的图像 color:形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Fiddler+夜神模拟器进行APP抓包
Fiddler+夜神模拟器进行APP抓包 作者:霞落满天 需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。 工具:Fiddler抓包,夜神模拟器 模拟手机 安装APP 1.下载Fiddler https://www.telerik.com/download/fiddler Fiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信...
小白学 Python 爬虫(42):春节去哪里玩(系列终篇)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
[数据结构与算法] 排序算法之归并排序与基数排序
归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 基本思想 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
史上最牛逼的 Eclipse 快捷键,提高开发效率!
如果你在使用IDEA,请参考博主另外的一篇idea快捷键的博客。
如何快速打好Java基础?
二哥,我是一名大学生,专业是电力工程,但想自学 Java,如何快速打好基础呢? 微信上 tison 向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学 Java,到现在已经有 10 多个年头了,真的是从一名编程白痴一步步走到现在的。 我在各大技术网站上分享了不少 Java 方面的原创文章,不知道影响了多少初学者,反正文章的留言中经常能看到他们由衷的感谢。现在每天仍然有不少同学(...
在三线城市工作爽吗?
我是一名程序员,从正值青春年华的 24 岁回到三线城市洛阳工作,至今已经 6 年有余。一不小心又暴露了自己的实际年龄,但老读者都知道,我驻颜有术,上次去看房子,业务员肯定地说:“小哥肯定比我小,我今年还不到 24。”我只好强颜欢笑:“你说得对。” 从我拥有记忆到现在进入而立之年,我觉得,我做过最明智的选择有下面三个: 1)高中三年,和一位女同学保持着算不上朋友的冷淡关系;大学半年,把这位女同学追到...
CSS操作之你不得不知的一些小技巧(一)ヾ(Ő∀Ő๑)ノ太棒了!!
目录 CSS单行/多行文本,超出隐藏并显示省略号 1. CSS单行/多行文本,超出隐藏并显示省略号 方法一:使用CSS属性 单行文本溢出显示省略号 width: 100px; overflow: hidden; text-overflow:ellipsis; //文本溢出显示省略号 white-space: nowrap; //文本不会换...
我以为我对数据库索引十分了解,直到我遇到了阿里面试官。
索引的数据结构分析,数据库面试到索引最常见的问题分析,我总结了一下。
Java第二周学习
Java第二周学习 1. 数组 1.1 定义数组格式 数据类型[] 数组名 = new 数据类型[容量]; int[] arr = new int[10]; 赋值左侧 数据类型: 告知编译器,当前数组中能够保存的数据类型到底是什么?并且在确定数据类型之后,整个数组中保存的数据类型无法修改!!! []: 告知编译器这里定义的是一个数组类型数据。 明确告知编译器,数组名是一个【引用数据类型...
有没有简单一点的 Python 小例子或小项目?
分享一波Github上适合新手入门、又十分有趣的Python项目~ 1. 人脸识别 star:30.5k 最简洁的人脸识别库。可以使用Python和命令行工具提取、识别、操作人脸。其人脸识别是基于业内领先的C++开源库dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,准确率高达99.38%。 而且有中文版README哟~ 2. faceai sta...
​人工智能如何拦截来自太空的古老电波信号?
全文共1468字,预计学习时长5分钟来源:Pexels人类对宇宙的向往,似乎是基因自带,亘古不变的。科幻小说、电影等艺术题材的昌盛,正说明了这一点。特别是随着科技发展,人类对UFO的...
看完这篇JVM,阿里面试官都不怕!
前言 只有光头才能变强 本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 学习JVM的目的也很简单: 能够知道JVM是什么,为我们干了什么,具体是怎么干的。能够理解到一些初学时不懂的东西 在面试的时候有谈资 能装逼 (图片来源:https://zhuanlan.zhihu.com/p/25511795,侵删) 声...
Java基础知识面试题(2020最新版)
文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...
Spring面试题(2020最新版)
文章目录Spring概述(10)什么是spring?Spring框架的设计目标,设计理念,和核心是什么Spring的优缺点是什么?Spring有哪些应用场景Spring由哪些模块组成?Spring 框架中都用到了哪些设计模式?详细讲解一下核心容器(spring context应用上下文) 模块Spring框架中有哪些不同类型的事件Spring 应用程序有哪些不同组件?使用 Spring 有哪些方式...
用树莓派做一个人脸识别开锁应用
作者:eckygao,腾讯 CSIG 云产品部1.案例概述1.1 背景实现一个人脸识别进行开锁的功能,用在他的真人实景游戏业务中。总的来说,需求描述简单,但由于约束比较多,在架构与选型上...
C语言写个贪吃蛇游戏
贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎,竟然点赞的人数超级多。我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强...
相关热词 c#时间格式化 不带- c#替换字符串中指定位置 c# rdlc 动态报表 c# 获取txt编码格式 c#事件主动调用 c#抽象工厂模式 c# 如何添加类注释 c# static块 c#处理浮点数 c# 生成字母数字随机数
立即提问

相似问题

5
mybatis中配置的left join查询语句,却在执行的时候自动变成了where (+=)的查询
8
ORACLE 语句 怎么加一列
6
关于oracle,select出来的数据的顺序的问题
2
从Oracle表中读取数据到DataTable对象中
6
oracle sql语句按条件查找
2
Oracle11g由于应用sql语句问题造成IO高,cpu高,业务中断,请教解决方法!
6
java项目在生产环境中 for循环中含有oracle查询语句,循环查询特别慢,但在本地环境没问题
1
请教在一台oracle服务器中,创建多个数据库和创建多个实例的含义和区别
5
在MyEclipse上写Oracle的SQL语句报错
1
Python通过cx_Oracle调用过程,过程中的OUT游标怎么在Python中打开?怎么把游标中的列名提取出来?
2
求一个对比两个数据库相同结构表的过程,如果一致则不变化,如果不一致,则生成增删改语句存到一张表C中
2
pb连接oracle后看不到表
2
oracle存储语句插入表后顺序混乱怎么处理?
3
求大神帮忙:我这个ORACLE语句怎么改成mysql的
2
关于Oracle like模糊查询通配符如何查找第20个或者50个字符为R的语句怎么写
4
oracle中怎么把有相同字段的三张表A,B,C关联呢?
2
同样的Oracle SQL语句在JDBC中执行很快,在PL/SQL执行却很慢
0
oracle OBDC方式连接 postgreSQL 无法执行带条件的更新语句?
1
用navicat创建oracle触发器中遇到的问题
1
ORACLE数据库导出存储在blob类型字段中的图片