当前位置:  开发笔记 > 数据库 > 正文

如果关系上没有索引,SQL查询是否有效?

如何解决《如果关系上没有索引,SQL查询是否有效?》经验,为你挑选了1个好方法。

GATE1999_2.25

以下哪项是正确的?

A) An SQL query automatically eliminates duplicates
B) An SQL query will not work if there are no indexes on the relations
C) SQL permits attribute names to be repeated in the same relation
D) None of the above

这是GATE 1999竞争考试题.很容易消除选项A和C.请回答选项B是否正确,为什么?

我已经浏览了多个数据库的SQL章节,也在线搜索过,但我没有找到任何关于索引对SQL查询的影响的参考,这可以回答这个问题.



1> Mureinik..:

在任何合理的数据库中,您可以创建一个没有索引或键的表(可以隐式生成索引),在其中插入数据并查询它.

请考虑以下内容(语法可能略有不同,具体取决于您使用的RDBMS,尽管我尝试尽可能通用):

CREATE TABLE mytable (mycol INT);

INSERT INTO mytable VALUES (1);

SELECT * FROM mytable;

没有任何索引,查询工作完美.答案B是不正确的.


@abcd如果你没有声明一个索引,但是DBMS在内部执行了如果你声明了一个索引它会做的事情,或者你确实声明了一个索引但是DBMS内部执行了如果你没有声明索引它会做什么,那么这是关于它的实现的细节,而不是关于SQL.SQL索引是您在概念上明确或隐式声明的事物,如基表或约束.PRIMARY KEY或UNIQUE约束隐式声明索引,就好像您已明确声明了一个索引.
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有