Purchase Solution

Comparison of two select queries

Not what you're looking for?

Ask Custom Question

Here's a query:

SELECT orders.order_date, orders.customer_numb
FROM orders INNER JOIN order_lines ON orders.order_numb = order_lines.order_numb
WHERE order_lines.isbn = '0-131-4966-9';

and here it is rewritten using a subquery:

SELECT order_date, customer_numb
FROM orders
WHERE order_numb IN (SELECT order_numb
FROM order_lines
WHERE isbn = '0-131-4966-9')

Assume that the tables orders and order_lines each have 500,000 rows/tuples.

Assume (somewhat artificially) that RAM can hold 200 rows and devotes half of that to reading one table and half to reading the other table and has "other places" to store the subquery/query results.

(i) How many reads from the hard drive will the original query take?
(ii) How many reads from the hard drive would the rewritten query take?

Purchase this Solution

Solution Summary

Apart from computing the number of hard drive reads in both the cases, solution briefly explains why/how these numbers are different.

Solution Preview

Total no. of records in each table = 500,000
No. of groups of 100 rows in each table (since we read 100 rows at a time) = 500,000 / 100 = 5,000

(i) In the original query each record of first table has to be compared against every record of second table. ...

Purchase this Solution


Free BrainMass Quizzes
Java loops

This quiz checks your knowledge of for and while loops in Java. For and while loops are essential building blocks for all Java programs. Having a solid understanding of these constructs is critical for success in programming Java.

Basic UNIX commands

Use this quiz to check your knowledge of a few common UNIX commands. The quiz covers some of the most essential UNIX commands and their basic usage. If you can pass this quiz then you are clearly on your way to becoming an effective UNIX command line user.

C# variables and classes

This quiz contains questions about C# classes and variables.

Basic Networking Questions

This quiz consists of some basic networking questions.

Inserting and deleting in a linked list

This quiz tests your understanding of how to insert and delete elements in a linked list. Understanding of the use of linked lists, and the related performance aspects, is an important fundamental skill of computer science data structures.