前端程序传过来的值是有三个字段组合之后的结果,后端程序处理,并且将查询的数据反馈给前端. PS:不能直接使用字段RPT_NO的,因为在这条记录中RPT_NO恰好等于其他三个字段的组合值. 正确的做法是使用"拼接操作符“ (||). RT,记下来以备日后查看,有需要的同学也可参考 :)…
之前写过一篇博客"SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析",里面介绍了OR可能会引起全表扫描或索引扫描的各种案例,以及如何优化查询条件中含有OR的SQL语句的几种方法,其实还有一些方法可以用来优化这种问题,这里简单介绍一下. 如下所示,下面的SQL语句之所有出现这种写法,是因为程序的查询界面,可能有多个输入性的查询条件,往往用户只填了一个或部分查询条件(业务情况,应该不用详细介绍,大家都能明白),但是程序里面没有通过判断查询条件生成不同的SQL语句,而是用一个SQ…
原文:SQL Server优化技巧--如何避免查询条件OR引起的性能问题 之前写过一篇博客"SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析",里面介绍了OR可能会引起全表扫描或索引扫描的各种案例,以及如何优化查询条件中含有OR的SQL语句的几种方法,其实还有一些方法可以用来优化这种问题,这里简单介绍一下. 如下所示,下面的SQL语句之所有出现这种写法,是因为程序的查询界面,可能有多个输入性的查询条件,往往用户只填了一个或部分查询条件(业务情况,应该不用详细介绍,大家都能明…
在整理英语单词开发模块的过程中,有这样一个需求,就是我在查询界面里输入一个查询的值A,这个A可能是下面的任何一个值 1.一个英语单词  2.汉语文字  3.一个英语单词的部分 这里有两张表:english.lexicon 和 english.lexicon.explain,前者是主表记录单词信息,后者是从表记录单词的解释,二者是一对多的关系. from odoo import fields, models class EnglishLexicon(models.Model): _name = '…
有一个需求,比如所 省市县 这三个查询条件 都可能有可能没有,但是我们的查询条件怎么构建呢 首先需要看一下 Lambda中Where这个方法需要什么参数 public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate); 我们需要给他传的参数只有一个   Func<TSource, bool…
1.查询表注释 SELECT * FROM USER_TAB_COMMENTS; 三列:TABLE_NAME,TABLE_TYPE,COMMENTS 2.查询字段注释 SELECT * FROM USER_COL_COMMENTS; 三列:TABLE_NAME,COLUMN_NAME,COMMENTS 3.添加表注释 COMMENT ON TABLE STUDENT_INFO IS '表注释'; 语法:COMMENT ON TABLE 表名 IS '表注释'; 4.添加字段注释 COMMENT…
Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language,DML)用于进行数据的检索和更新操作.数据检索是数据库应用中使用频率最高的操作类型,因此数据检索的效率对数据库的整体性能影响显著.数据更新包括数据的插入.修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中DBMS必须保证数据的一致性,以确保数据有效.SELECT.INSERT.DELET…
记录量大的情况下,采用NOT IN查询,那肯定会慢的无法接受.比如: SELECT A.* FROM TABLE_A WHERE A.USER_ID NOT IN (SELECT B.USER_ID FROM TABLE_B) 目前找到的最优方法,可以秒查.示例如下,查询A表有.B表没有的DEPT_ID数据: SELECT A.* FROM TB_DEPT A, TB_DEPT_LEV B WHERE A.DEPT_ID = B.DEPT_ID(+) AND B.DEPT_ID IS NULL…
select b.* from oss_service_log a left join oss_service_log_detail b on a.pk_log = b.pk_log where a.pk_service = 'nc.ws.oss.bd.IUserGroupOpenService' and b.log_msg like '%河南佐今明医药%' order by a.ts desc; -- select b.* from oss_service_log a left join os…
隐式转换select * from emp where empno='7788'字符(char,varchar2)转换为数字(number)或日期(date)数字或日期转换为字符 显式转换字符转换为数字或日期(TO_NUMBER, TO_DATE)数字或日期转换为字符(TO_CHAR) TO_CHAR(date, 'format_model')select sysdate, to_char(sysdate,'yyyy') yyyy, to_char(sysdate,'year') year,fr…
此例子使用的方法有待改善,不是很好的方法. 范例:aimm200: 作用:查询时默认不显示无效料件:新增参数控制查询是否显示无效料件.(只作用查询,不影响新增.修改等)…
DECLARE @oFrom INT SELECT * FROM baseinfo AND ( ( and Type = 'Breakfast') ) or的条件可自由添加,尤其适用互斥条件的查询.…
select * from 表名 where 列名 = ? and DATEDIFF(hh,时间列,'2016-08-22 15:05:59.000')<9…
1.SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.数据表最好起别名;因为便于sql优化器快速分析. 3.尽量不要使用 insert into table value(?,?,?,?,?)格式,要指出具体要赋值的字段.INSERT.....SELECT的效率会有提高. 4.select与from语句之间只定义返回的字段名,除非返回所有的字段,尽量不要使用 * . 5.select字段名应按照表的字段物理顺序编写,字段提取要按照“需多少.提多少”的原…
本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种写法孰优孰劣,该选用那种写法,以及各种写法优缺点,本文以一个简单的查询存储过程为例,简单说一下各种写法的区别,以及该用那种写法专业DBA以及熟悉数据库的同学请无视. 废话不多,上代码说明,先造一个测试表待用,简单说明一下这个表的情况 类似订单表,订单表有订单ID,客户ID,订单创建时间等,查询条件是…
目录 SQL优化的本质 SQL优化Road Map 2.1 制定SQL优化目标 2.2 检查执行计划 2.3 检查统计信息 2.4 检查高效访问结构 2.5 检查影响优化器的参数 2.6 SQL语句编写问题 2.7 SQL优化器限制导致的执行计划差 SQL优化案例 SQL执行计划获取 4.1 如何获取准确的执行计划 4.2 看懂执行计划执行顺序 一SQL优化的本质 一般来说,SQL优化是让SQL运行得更快,使SQL更快的方式有很多,比如提高索引的使用效率,或者并行查询.可以看到里面的公式: 执行…
--月统计 Select SUBSTR(t.BalanceDate,1,6) as Mon, t.RechargeType , SUM(t.SumNum) as SumNum , SUM(t.SumFee) as SumFee From Recharge t Where to_char(to_date(t.BalanceDate,'yyyy-mm-dd'),'yyyymm') BETWEEN to_char(to_date('2016-07-01','yyyy-mm-dd'),'yyyymm')…
在SQL的3值逻辑下,一个查询条件可以产生以下三种情况:TRUE,FALSE,NULL.只有那些满足WHERE子句的值是TRUE的记录才出现在结果表中. NULL值影响查询条件的结果,并且结果很微妙. 以下是SQL中AND,OR,NOT的真值表. 表1    AND的真值表 TRUE FALSE NULL TRUE TRUE FALSE NULL FALSE FALSE FALSE FALSE NULL NULL FALSE NULL 表2    OR的真值表 TRUE FALSE NULL T…
模型的定义,models.py文件中示例代码如下: from django.db import models # 在定义模型的类时,一定要继承models.Model class Category(models.Model): # 设置字段的最大长度为100 name = models.CharField(max_length=100) # 重新定义该类的一些属性 class Meta: # 自定义表名 db_table = 'category' class Article(models.Mod…
使用jeecg框架开发的小伙伴们知道,添加查询条件,通常是我们加一个配置(query="true")就可以将该字段设置为查询条件.简单方便.但是这样的配置查询条件仅适用于输入框输入查询和下拉框查询(如果你配置的该字段使用了replace).显然,这样的查询条件根本满足不了我们的需求,最常见的就是时间段查询,以及时间段与其他字段混合查询的情况,下面简单说一下解决方法. 自定义查询条件, 第一步:将字段中所有配置的query="true",改为query="f…
        thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解         快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如:         一.不同字段相同的查询条件 $User = M("User"); // 实例化User对象             $map['name|title'] = 'thinkphp';           …
最近使用spring data jpa做了两个项目,对于动态查询的不友好做了个类似hibernate的封装,记录也分享下 首先定义一个所有条件的容器,继承Specification /** * 定义一个查询条件容器 * @author lee * * @param <T> */ public class Criteria<T> implements Specification<T>{ private List<Criterion> criterions = …
oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引号就可以查到了! ②select * from "user"; 难道oracle跟mysql等不同,查询时候一定要加双引号?那这样不是很麻烦!于是经过查找资料得出如下结论: 1.oracle表和字段是有大小写的区别.oracle默认是大写,如果我们用双引号括起来的就区分大小写,如果没有,系…
1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip * @param port * @param databaseName * @return*/ public static String getTestDbUrl(int dbType, String ip, String port, String databaseName){ String ur…
oracle 实现多字段匹配一个关键字查询语句:有两种方法(经测试,10g中不能用,11g才行): 第一种. select * from table where ('字段名1' ||'字段名2' ||...) like "%keyValue%"; 第二种:(1)如果是两个字段的话:select * from table where concat(字段名1,字段名2) like "%keyValue%";(2)如果是多个字段的话:select * from table…
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍.而本文是假设SQL本身合理,从Oracle提供给我们的一些技术手段来简单介绍下Oracle数据库,该如何使用一些现有的技术来优化一个SQL执行的性能. 确定需要优化的SQL文本及当前SQL执行计划 确定SQL涉及的所有表及…
文章转自:http://www.cnblogs.com/zhengyun_ustc/p/slowquery2.html 写在前面的话: 之前曾说过"不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程",但对于字段选择性差意味着什么,组合索引字段顺序意味着什么,要求每个人必须了解: 重复上一次的话:把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 一把,这是一种美德! 确保亲手查过S…
感觉自己写的很棒的一个Oracle存储过程,(其实想说很叼^,^). 集成了一堆操作数据的功能(至少几十), 包括存储过程执行异常信息输出帮助诊断. 亮点很多, 比如`over(partition by t.u_id  order by t.u_id)`, 哈哈. 是个很多客户都在用的稳定的关键存储过程!(客户没有一千也有三五百,并且还在不停的增加) 每天都要运行 无数次.因为每个客户的坐席每次打电话都要用到,包括导入客户资料,几万,几十万的批量导入,速度都不错,每次执行都有日志记录. crea…
SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 rows 1 cols 也可以不返回任何行--空集                      0 rows n cols 也可以有多个列,这些列可以是从多个表中取出的多行信息.  m rows n cols 结果集中的每一行就是这个集合的一个元素. 1.2集合运算 1)交 用来得到两个或多个不同集合的共…
原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章,自己添加了一些内容,做了简单的总结,这个语句还是第一次见到,学习了.我从简单到复杂地写,希望高手们不要见笑.下面的sql语句设计到三个表,表的内容我用txt文件复制进去,这里不妨使用上一个随笔介绍的建立端到端的package的方法将这些表导入到数据库中,具体的就不说了. 从这里下载文件employ…