刘艳兵-DBA044-关于cardinality的描述,正确的是?

关于cardinality的描述,正确的是?

A cardinality只可以设置单个表的预估返回行数

B cardinality作用的对象只能是当前查询,无法作用于视图中的对象

C cardinality提示如果不写表名,将会对整个结果集执行预估行数调整

D cardinality除了可以设置单个表的预估返回行数,还可以设置多个表连接的返回行数

答案:D cardinality除了可以设置单个表的预估返回行数,还可以设置多个表连接的返回行数

选项分析:

A选项

  • cardinality 不仅可以设置单个表的预估返回行数,还可以用于设置多个表连接后的预估返回行数等,所以A选项错误。

B选项

  • cardinality 可以作用于视图中的对象。当视图中涉及到对表的查询操作时,可以通过 cardinality 提示来调整视图中查询的表的预估行数,从而影响基于视图的查询计划,所以B选项错误。

C选项

  • 如果不写表名,cardinality 提示并不会对整个结果集执行预估行数调整。通常情况下,必须明确指定要设置预估行数的表或视图等对象,否则无法确定具体要调整哪个对象的预估行数,所以C选项错误。

D选项

  • 如前面所述,cardinality 既可以用于设置单个表的预估返回行数,也可以用于设置多个表连接后的预估返回行数。通过这种方式,可以为优化器提供更准确的统计信息,帮助优化器生成更优的查询计划,所以D选项正确。
相关推荐
序属秋秋秋32 分钟前
《Linux系统编程之进程基础》【进程优先级】
linux·运维·c语言·c++·笔记·进程·优先级
加勒比之杰克37 分钟前
【操作系统原理】Linux 进程控制
linux·运维·服务器·进程控制
不知更鸟5 小时前
Django 项目是什么
数据库·sqlite
我是小超人-雨石花6 小时前
Jenkins&Robot Framework持续集成
运维·jenkins·ci
有一个好名字8 小时前
MyBatis-Plus 三种数据库操作方式详解 + 常用方法大全
数据库·mybatis
-Xie-8 小时前
Redis(八)——多线程与单线程
java·数据库·redis
wanhengidc8 小时前
云手机的软件核心是什么
运维·服务器·web安全·游戏·智能手机
G探险者8 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql
芬加达8 小时前
jvm八股
运维·服务器·jvm
小兔薯了9 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器