sql语句查询条件的不同表达方式对查询性能的影响
今天操作数据库遇到一个问题
目标表RA_AD_DAILY_DATA的数据量大概有5千万左右,其中的BUSINESS_DATE字段为日期类型
我要查询8月20号导入的三条记录,刚开始用这种方式去查:
SELECT * FROM RA_AD_DAILY_DATA WHERE to_char(BUSINESS_DATE,'yyyy-MM-dd')= '2014-08-20' ;
速度非常慢,五分钟左右才能出来结果(在PL/SQL developer中)
同样都是查询2014年8月20日的数据,换一种表达的方式
用 SELECT * FROM RA_AD_DAILY_DATA WHERE BUSINESS_DATE= to_date('2014-08-20','yyyy-MM-dd') ;
只用了0.3秒就查询出来了
第一种方式要把所有的数据库里边的BUSINESS_DATE字段都变成字符串类型然后再进行比较,因为数据库的数据量非常大,所以是不可取的
更重要的原因是把日期转换成字符串之后,在日期之上建立的索引就失效了。。。。
sql语句查询条件的不同表达方式对查询性能的影响的更多相关文章
- FreeSql (二十七)将已写好的 SQL 语句,与实体类映射进行二次查询
有时候,我们希望将写好的 sql 语句,甚至是存储过程进行查询,虽然效率不高(有时候并不是效率至上). 巧用AsTable var sql = fsql.Select<UserX>() . ...
- sql语句之条件,分页,排序
sql语句之条件,分页,排序
- SQL Server中多表连接时驱动顺序对性能的影响
本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...
- SQL语句技巧_索引的优化_慢查询日志开启_root密码的破解
1.正则表达式的使用 regexp例:select name,email from t where email regexp '@163[.,]com$'使用like方式查询selct name,em ...
- SQL语句中的单引号处理以及模糊查询
为了防止程序SQL语句错误以及SQL注入,单引号必须经过处理.有2种办法: 1.使用参数,比如SELECT * FROM yourTable WHERE name = @name; 在C#中使用Sql ...
- 数据库常用SQL语句(二):多表连接查询
前面主要介绍了单表操作时的相关查询语句,接下来介绍一下多表之间的关系,这里主要是多表数据记录的查询,也就是如何在一个查询语句中显示多张表的数据,这也叫多表数据记录的连接查询. 在实现连接查询时,首先是 ...
- sql语句where条件判断是否是相同的string时 原来不判断大小写
SELECT * from api_check where api ="Worker" SELECT * from api_check where api ="worke ...
- sql语句中3表删除和3表查询
好久没来咱们博客园了,主要近期在忙一些七七八八的杂事,包括打羽毛球比赛的准备和自己在学jqgrid的迷茫.先不扯这些没用的了,希望大家能记得小弟,小弟在此谢过大家了. 回归正题:(以下的sql是本人在 ...
- SQL语句(三)分组函数和分组查询
目录 一.分组函数 特点 1. 各函数的简单使用 2. 搭配distinct的使用 3. COUNT 统计行数 4. 和分组函数一同查询的字段要求是group by后的字段 二.分组查询 1. 简单应 ...
随机推荐
- spring boot 拦截器之WebMvcConfigurerAdapter
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 上一篇我们讲到了拦截器,我们也简单的讲解到了WebMvcConfigurerAdapter这个拦截器.本篇我们来对Web ...
- 从实例中学习grid布局
对于Web开发者来说,网页布局一直是个比较重要的问题. Web 布局主要经历了以下四个阶段: 1.table表格布局: 2.float浮动及position定位布局: 3.flex弹性盒模型布局,革命 ...
- C++泛型和算法
看书的速度终于慢了下来,倒不是难于理解,而是需要理解的东西有点多. 先吐槽下C++Primer这本书,不少地方都是用抽象的语言进行介绍! 拜托,你这是介绍,不是总结! 像容器适配器那里: “本质上,适 ...
- 谷哥的小弟学后台(04)——MySQL(4)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...
- centos查看启动时间
系统启动时间 who -b date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H ...
- arugsJS 入门
一款优秀的前端框架——AngularJS 前 言 AngularJS是一款为了克服HTML在构建应用上的不足而设计的优秀的前端JS框架.AngularJS有着诸多特性,最为核心的是:MVC. ...
- ali数据分析面试题
表A结构如下 Member_ID --用户的Id,字符型 Log_time --用户访问页面时间,日期型(只有一天的数据) URL ---访问的页面地址,字符型 要求:提取每个用户访问的第一个U ...
- Unity UI大小动态设置(Resize Unity UI RectTransform)
我们在开发过程中发现,要调整Unity UI元素的大小,RectTransform提供了sizeDelta属性可以用来动态修改RectTransform的大小,但同时我们也google到另外一个修改R ...
- weblogic安装部署war包——windows
### weblogic安装部署war包——windows#### 下载weblogic安装包[csdn下载地址](https://download.csdn.net/download/luozhua ...
- shell脚本中,将所有的参数值否赋给一个变量或者说将所有的参数合成一个字符串,获取所有参数
需求描述: 在写脚本的过程中,遇到这样的一个需求,将脚本执行过程中,传递给 脚本的所有的参数,都赋值给一个变量然后在对这个变量进行处理. 测试过程: 通过以下的脚本将所有传递给脚本的变量都赋值一个变量 ...