经过多年的发展,存储技术以及CPU的计算能力得到了很大的提升。然而在大型的数据库系统中,这两方面之间的互连依旧是困扰所有DBA的难题。因此,海量数据所需要的计算节点或者数据库引擎能够缩减的话,那么系统性能就能够表现的更好。举例来说,当数据库用户需要基于销售数据寻找所有重要的客户时,我们会这样写SQL: SELECT customer_name, sales_amt FROM customer_sales WHERE sales_amt >500; 在传统的Oracle数据库中,上面的SQL语句将需要系统对custo……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
经过多年的发展,存储技术以及CPU的计算能力得到了很大的提升。然而在大型的数据库系统中,这两方面之间的互连依旧是困扰所有DBA的难题。因此,海量数据所需要的计算节点或者数据库引擎能够缩减的话,那么系统性能就能够表现的更好。举例来说,当数据库用户需要基于销售数据寻找所有重要的客户时,我们会这样写SQL:
SELECT customer_name, sales_amt FROM customer_sales WHERE sales_amt >500; |
在传统的Oracle数据库中,上面的SQL语句将需要系统对customer_sales表进行一个完全的扫描。所有数据块将通过网络被送到数据库计算节点上,其中将涉及谓词过滤。而当使用Oracle Exadata的Smart Scan时,通过添加一系列的机制,查询谓语将下推到存储子系统中。使用智能数据库协议(iDB),数据库节点会将查询细节发送到存储子系统,最重要的是只有信息中的相关片段被发送到互连。在我们的例子中,只有ustomer_name和sales_amt列通过互连进行传送,其中sales_amt超过$500.这就是Smart Scan所起到的作用,它能够减少非相关数据传输所造成的延时。
Smart Scan的最佳实践包括不使用索引,允许基于代价的SQL优化器(CBO)做决策,依靠自然的用户应用。因此,我们建议使用Smart Scan时,将所有SQL语句中的hint去掉。
翻译
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
Azure数据湖分析从U-SQL中获得提升
大数据的发展已经让许多精通SQL的数据专业人员不知所措。微软的U-SQL编程语言试图让这些人回归数据查询游戏。
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。