Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: question on retrieving rows
It looks for them. It knows what blocks a table consists of (its in the
data dictionary) and it searches for the information block by block. (full
table scan) If you say select * from emp where country='USA' and state =
'NY' and dept = 'Marketing' and there are only 2 people in the table that
fit that description and you do not have an index on any of those fields
then Oracle has no choice but to look at all the rows in the emp table. It
knows where those blocks are physically located because it looks in the data
dictionary to see what the 1st and subsequent blocks are for this table
(emp). Then it reads every row in that table until it finds the ones that
meet that criterea. (how else could it? How else could any RDBMS?)
Jim
-- Replace part of the email address: kennedy-down_with_spammers_at_attbi.com with family. Remove the negative part, keep the minus sign. You can figure it out. "andi" <andihp_at_flashmail.com> wrote in message news:16ce60f4.0303160531.61550749_at_posting.google.com...Received on Sun Mar 16 2003 - 07:56:08 CST
> Hi,
> sorry to confuse you. newbie here :P
> like u said, lets say 1 or more rows are on a particular block, and
> off course oracle should know the block location for these rows before
> it retrieve them. My question is from where does oracle get this
> information that these rows are resided on that block? (and how if the
> table is not indexed?)
>
>
> TIA,
> andi
>
>
> "Jim Kennedy" <kennedy-down_with_spammers_at_attbi.com> wrote in message
news:<tkTca.96752$eG2.13965_at_sccrnsc03>...
> > Note sure I understand the question. The data is stored in blocks. So
in a
> > block there are 1 or more rows. If you are accessing the data via some
> > index then the index has the address of the block and the row in the
block
> > as part of the index (row id)
> > Jim
> >
> > --
> > Replace part of the email address: kennedy-down_with_spammers_at_attbi.com
> > with family. Remove the negative part, keep the minus sign. You can
figure
> > it out.
> > "andi" <andihp_at_flashmail.com> wrote in message
> > news:16ce60f4.0303151947.6d414040_at_posting.google.com...
> > > Hi All,
> > > how does oracle know the starting and ending blocks number of
> > > particular tables' rows ?
> > >
> > > TIA,
> > > andi