当前位置: 首页 > news >正文

网站开发编程工程师招聘浏览器大全网站

网站开发编程工程师招聘,浏览器大全网站,东方建设集团有限公司网站,福州有名的公司网站设计答案是:可能走索引也可能不走索引,具体要看列的值可不可为null,Oracle不会为所有列的nullable属性都为Y的sql语句走索引。 例子: create table t as select * from dba_objects; CREATE INDEX ix_t_name ON t(object_id, objec…

答案是:可能走索引也可能不走索引,具体要看列的值可不可为null,Oracle不会为所有列的nullable属性都为Y的sql语句走索引。

例子:

create table t as select * from dba_objects;
CREATE INDEX ix_t_name ON t(object_id,  object_name, owner);
SELECT object_id, object_name, owner FROM t;

看到网上很多的文章都会说第三个SQL语句没有where条件,肯定不走索引,或者 说 这个语句的列上都有索引,会走覆盖索引,真的是这样吗?

第三个DQL语句会走索引吗? --不会。因为虽然查询的这三个列都被覆盖索引包含在内,但这三个列都可为null,正如开篇所说——Oracle不会为全都为null的行走索引。执行计划如下:

可以看到这三个列虽然都有索引,但这三个列的nullable属性都是Y,也就是都可为空,所以索引将失效,该语句将走全表扫描。

解决这个问题,至少将其中一列的nullable属性设置为N。这样就保证了每一行都将在索引中。

alter table t modify object_name not null;

再次查询同样的SQL语句,可以看到没有where条件的SQL语句也走了索引。

所以,一个sql语句没有where条件会不会走索引是一个有争议的问题。所以碰到这种问题只需要记得

Oracle不会为所有列的nullable属性都为Y的SQL语句走索引。

所以,我们也可以换一种方式解决,为object_id添加主键约束? 设置其它两列为notnull? 都是解决问题的方案。
http://www.dt0577.cn/news/20491.html

相关文章:

  • 吉林市城市建设管理执法局网站网站站点
  • 4s店网站建设方案百度免费网站制作
  • 西安电商网站开发企业网站设计
  • 做网站例子如何进行品牌宣传与推广
  • wordpress动画插件下载新站seo外包
  • 图书翻页的动画 做网站启动用全网热度指数
  • 南阳网站建设多少钱盘搜搜
  • 肇庆网站制作360推广登陆入口
  • 网站keyword如何排列南京百度推广
  • 网站备案 动态ip保定seo外包服务商
  • 做阿里巴巴网站做小程序的公司
  • wordpress 相册 样式下载优化大师
  • 查网站域名备案谷歌seo关键词优化
  • jquery 打开新网站爱站seo查询
  • 内蒙古建设协会网站网络营销的发展概述
  • 网站建设意见征求表爱战网关键词
  • 彩票网站怎么做赚钱北京网站开发
  • 网站设计制作是什么推广app的软文案例
  • refile自己做的网站生活中的网络营销有哪些
  • 申请了域名先做网站还是先备案产品推广公司
  • b2c中日外贸有哪些网站做的好网站宣传文案
  • 长宁区网站制作网络营销推广方式包括
  • 把网站做静态化外贸网站优化推广
  • 如何建立免费的网站推广方案是什么
  • 做网站需要什么部门批准西安网站快速排名提升
  • wordpress建个人网站seo排名工具外包
  • 电子商务网站建设训练总结社区推广方法有哪些
  • wordpress支持iframe优化视频
  • wordpress ckvideo信息流广告优化师培训
  • 淘宝客网站做百度竞价百度官网网站首页