什么叫即席查询
这个仅当是笔记
以前一直不知道什么叫即席查询,今天重新看了一遍《SQLSERVER企业级管理平台》,才明白什么叫“即席查询”
下面这句话是我个人总结的:
什么叫即席查询
AD-HOC :以单独的SQL语句的形式执行的查询就是即席查询,比如说:在C#程序里嵌入的SQL语句,或者在SSMS里的新建查询窗口自己键入的SQL代码就是即席查询。
而将SQL代码放入存储过程里面,以存储过程或者函数或者触发器来执行的查询就不是即席查询,即席:当场,就是当场去查询,当然,这个当场不是当场写代码的意思啦
-------------------------------------------华丽的分割线---------------------------------------------------------
那么,即席查询是不是没有执行计划的缓存的呢?
在《SQLSERVER企业级管理平台》里是这样说的
adhoc:即席查询
Adhoc语句
一组包含select,insert,update,delete的批处理指令。对这样的指令,只有前后完全一致
包括字母的大小写,空格,回车换行都一致,SQL才认为是两条一样的语句,才能够重用执行计划。所以这个要求还是挺高的
1 --例如,运行下面的指令,连续两次查询sys.[syscacheobjects]视图 2 DBCC freeproccache 3 GO 4 SELECT * FROM sys.[syscacheobjects] 5 go 6 SELECT * FROM [sys].[syscacheobjects] 7 go
在第二个结果集里会看到两个adhoc的执行计划。他们的差别就在于一个有回车一个没有回车
但是如果语句是一样的,那么第二句话就可能会重用前面的执行计划。所以adhoc语句并不一定没有执行计划的重用
1 --例如下面,把同样的一句话跑两遍,会发现只有一个执行计划,而且他被使用过两次 2 --(字段usecount=2) 3 4 DBCC freeproccache 5 GO 6 SELECT * FROM sys.[syscacheobjects] 7 go 8 SELECT * FROM sys.[syscacheobjects] 9 go
SQL2005以后,可以在单个数据库上开启强制参数化。也就是说,对于在这个数据库下运行的大部分语句,
SQL都会先参数化,再运行。如果应用经常用adhoc方式调用一样的语句,强制参数化可能会有所帮助
----------------------------------------------华丽的分割线------------------------------------------------------------------------
那么分布式查询会不会重用执行计划呢?
我使用下面代码测试了一下
1 --第一次执行的时候,先清空执行计划缓存,第二次执行就要把DBCC freeproccache注释掉 2 DBCC freeproccache 3 GO 4 5 6 SELECT * FROM 7 OPENROWSET('microsoft.jet.oledb.4.0','C:\Users\Administrator\Desktop\Course.mdb';'admin';'',Course_baseinfo) 8 GO 9 10 SELECT [cacheobjtype],[objtype],[dbid],[usecounts],[sql] FROM sys.[syscacheobjects] 11 WHERE [dbid]=1 12 go
根据usecounts字段,每执行一次都会递增,说明是有重用执行计划的
附上测试用的mdb文件,记得使用分布式查询的时候需要安装office的哦,如果是64位操作系统,需要安装64位 Microsoft.ACE.OLEDB.12.0
http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/58c4c61e-fa86-4809-bf7d-21bacb055d3e
文件地址:http://files.cnblogs.com/lyhabc/Course.rar
如果有不对的地方,欢迎大家拍砖o(∩_∩)o
相关推荐
Baidu基于Spark SQL构建即席查询平台
基于Spark SQL的即席查询解决方案Spinach Spinach是一种基于Spark SQL的即席查询解决方案,旨在提高生产环境中的数据查询效率。该解决方案由英特尔亚太研发有限公司开发,旨在 tận dụngSpark SQL的强大功能实现...
基于Spark SQL构建即席查询平台 本篇资源摘要信息将为读者提供基于Spark SQL构建即席查询平台的知识点总结,涵盖了即席查询的概念、Spark的选择理由、基于Spark的架构设计、性能优化、安全和资源隔离等方面的详细...
大数据即席查询技术.pptx
在"基于Spark SQL引擎的即席查询服务"中,我们主要关注的是如何利用Spark SQL构建一个能够快速响应用户查询的服务。即席查询(Ad-Hoc Query)服务通常用于数据分析场景,允许用户在没有预先定义查询的情况下自由探索...
程序员,在校生,程序员行业爱好者
【大数据项目之电商数仓(5即席查询Presto&Kylin)V4.0】 在大数据领域,为了高效地处理和分析海量数据,即席查询系统扮演着至关重要的角色。本篇主要讨论两个流行的即席查询工具——Presto和Kylin,它们在电商数仓...
人工智能-spark
基于SparkSQL实现了一套即席查询服务,具有如下特性: 优雅的交互方式,支持多种datasource/sink,多数据源混算 spark常驻服务,基于zookeeper的引擎自动发现 负载均衡,多个引擎随机执行 多session模式实现并行...
基于spark sql引擎的即席查询服务源代码+文档说明(大作业&课程设计),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计...
Apache CarbonData 大数据即席查询秒级响应实现技术 Apache CarbonData 是 Apache 的一个开源项目,旨在解决大数据即席查询秒级响应问题。该项目由华为大数据开源开发部Leader Liang Chen 领导,具有十多年的大数据...
在大数据领域,实现高效的数据分析和即席查询是至关重要的,尤其对于秒级响应的需求。本文将探讨如何在海量数据环境中实现这样的目标。首先,我们要理解大数据存储的选择对查询性能有着直接影响。 对于复杂的大数据...
读书笔记:通用spark sql即席查询
大数据即席查询秒级响应方案是一项旨在提升大数据处理效率的技术创新,主要针对现代企业对快速数据分析的需求。在当今数字化时代,客户关怀、CEM(客户体验管理)市场分析以及实时营销等领域都对数据的实时性提出了...
sql学习 位图索引之如何高效即席查询.sql
大数据项目之电商数仓(4即席查询数据仓库) 本文档是关于大数据项目之电商数仓的详细介绍,特别是关于Presto即席查询数据仓库的设计和实现。下面是从标题、描述、标签和部分内容中提炼出的知识点: Presto 概念 ...