接第二章 Oracle Database In-Memory 体系结构(IM-2.2)
本篇为IM 体系结构下篇
对于需要在IM列存储中扫描的数据,数据库使用SIMD(单指令,多数据)向量处理。
IM列存储最大化了可以加载到向量寄存器和求值的列条目的数量。 不是一次一个地评估列中的每个条目,数据库在单个CPU指令中评估一组列值。 SIMD向量处理使数据库能够每秒扫描数十亿行。
例如,应用程序发出查询以查找 sales 表中使用 promo_id
值为 9999
的订单总数。sales
表驻留在IM列存储中。 查询通过仅扫描 sales.promo_id
列开始,如下图所示:
图 2-12 SIMD向量处理
CPU按如下方式计算数据:
山东Oracle用户组(Shandong Oracle User Group),简称:SDOUG,是一个充满朝气、年轻的非营利性组织,旨在为济南及周边地区技术爱好者提供一个交流平台。SDOUG会不定期组织线下技术分享活动,促进本地区及周边IT技术的发展、帮助技术爱好者提高自己。分享技术、分享快乐,SDOUG在路上。