How many block accesses average saved on using secondryindex, Database Management System

Assignment Help:

An un- ordered student file has 20,000 records stored on a disk having the Block size as 1 K. Suppose that each student record is of 100 bytes, the secondary index field is of 8 bytes, and block pointer is also of 8 bytes, find how many block accesses on average may be saved on using secondary index on enrolment number.

Answer:

Number of accesses without using Secondary Index:

Number of records in the file = 20000

Block size = 1024 bytes

Record size = 100 bytes

Number of records per block = integer value of [1024 / 100] = 10

Number of disk blocks acquired by the file = [Number of records / records per block]

= [20000/10] = 2000

 

As the file is un-ordered any search on an average will require about half of the above blocks to be accessed. Thus, average number of block accesses = 1000

Number of accesses with Secondary Index:

Size of an index entry = 8+8 = 16 bytes

Number of index entries that can be stored per block

= integer value of [1024 / 16] = 64

Number of index entries = number of records = 20000

Number of index blocks = ceiling of [20000/ 64] = 320

Number of index block transfers to find the value in index blocks = ceiling of [log2320] = 9

One block move will be needed to get the data records using the index pointer after the needed index value has been located. So total number of block transmits with secondary index = 9 + 1 = 10

Therefore,, the Secondary index would save about 1990 block transmit for the given case. This is a huge saving compared to primary index. Please also compare the size of secondary index to primary index.

Let us now see an illustration of a secondary index that is on an attribute that is not an alternate key.

 

 

 

 

                                269_how many block accesses average saved on using Secondryindex.png


Related Discussions:- How many block accesses average saved on using secondryindex

What is relational calculus, What is Relational calculus? Relational c...

What is Relational calculus? Relational calculus is a Non- Procedural language.

What is a virtual table that draws its data from the result, What is a virt...

What is a virtual table that draws its data from the result of an SQL SELECT statement? View is a virtual table that draws its data from the result of an SQL SELECT statement.

Atomicity-transaction , Atomicity: It describes a transaction to be a one ...

Atomicity: It describes a transaction to be a one unit of processing. We can also say either a transaction will be finished completely or not at all. In the transaction example 1

#normalisation.., define normalisation and functional dependency

define normalisation and functional dependency

Databases and data warehouses , Databases and data warehouses both are data...

Databases and data warehouses both are databases and both contains number of rows and columns of tables containing data. Data warehouse is really different from databases because d

Write the syntax of creating an index, Write the syntax of creating an INDE...

Write the syntax of creating an INDEX ? Syntax of Creating an Index: CREATE [BITMAP] [UNIQUE] INDEX ON ( [, ] . . .);

Entity integrity, Before defines the second type of integrity constraint, v...

Before defines the second type of integrity constraint, viz., Entity Integrity, we should be well-known with the concept of NULL. Mostly, NULL is intended as a basis for dealing

Explain the concepts of relational data model, Explain the concepts of rela...

Explain the concepts of relational data model? Relational Data Model - The relational model was first introduced through Prof. E.F. Codd of the IBM Research in the year 1970

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd