RDBMS的内部工作

时间:2015-11-12 12:47:50

标签: oracle10g rdbms

我有一个包含10列的表格,我希望从表格中选择第1列和第9列。在RDBMS中,应在内部选择多少列?

2 个答案:

答案 0 :(得分:2)

关系模型背后的基本思想之一是RDBMS用户根据表格和表格来表征他们的问题。表示抽象应用程序关系和描述抽象应用程序状态的查询,而RDBMS接口隐藏(尽可能多)表&查询由另一个这样的“逻辑”RDBMS层或其他“物理”范例层实现。 (因此,逻辑和物理data independence。)

您的问题只能回答特定版本的特定DBMS的特定实现。您可以在教科书和教科书中找到DBMS实现。幻灯片,其中有许多网站和.pdfs在线。

如果这是一个性能问题:在您熟悉架构设计和查询以及索引等基本性能问题之前,您不应该担心这种情况。谷歌搜索:Oracle的.pdf Oracle Database SQL Tuning Guide。 Bookboon的免费在线下载电子书Database Design and Implementation: A practical introduction using Oracle SQL

答案 1 :(得分:1)

RDBMS将表数据存储在行和页中的行中。 RDBMS可以索引表数据。 RDBMS在内部读取索引或表中的每一行。

所以问题是要知道是否有索引。

在表根本没有索引的情况下,需要读取所有列,因为表行是所有列的组合

如果and index恰好具有两列,则仅读取两列以及对表行位置的引用。

如果索引具有两列加更多列,则优化器将选择theis索引,并读取更多信息,但少于表行。

在某些特殊情况下,由于使用了优化器(在SQL Server等“大” RDBS中……),如果有两个索引,一个包含第一列,另一个包含第二列,则可以同时读取两个索引,并且最终联接已执行。