Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Database Systems Implementation - Practical 3

Due: 8 March 2013

My implementation consists of the TupleNestedLoopJoin and BlockNestedLoopJoin methods. Experiments were run on both implementations, varying the sizes of the records as well as the size of the buer manager. As expected, the BlockNestedLoopJoin was the better performer, due to the way it retrieves its data from disk (in blocks). The performances are shown in the following gures:
BNLJ TNLJ BNLJ TNLJ

x 10 2.5 2 Pin Requests 1.5 1 0.5 0 0

x 10 2.5

Pin Misses 10000 8000 2000 4000 6000 8000 10000 Records in R 0 2000 Records in S 4000 6000

1.5

0.5 10000 8000 2000 4000 6000 8000 10000 Records in R 0 2000 Records in S 4000 6000

0 0

BNLJ TNLJ

7 6 5 Duration (s) 4 3 2 1 0 0 2000 4000 6000 8000 10000 Records in R 0 2000 Records in S 4000 6000 10000 8000

x 10

6 BNLJ TNLJ

x 10

BNLJ TNLJ 5

4 Pin Requests

Pin Misses 0 100 200 300 400 500 600 Buffer manager size 700 800 900 1000

100

200

300

400 500 600 Buffer manager size

700

800

900

1000

2 BNLJ TNLJ 1.8

1.6

1.4

Duration (s)

1.2

0.8

0.6

0.4

0.2

100

200

300

400 500 600 Buffer manager size

700

800

900

1000

8.4

x 10

16000 BNLJ 14000 BNLJ

8.2

12000 8 10000 Pin Requests Pin Misses 7.8

8000

7.6

6000 7.4 4000

7.2

2000

7 10

15

20

25

30 35 Buffer manager size

40

45

50

0 10

15

20

25

30 35 Buffer manager size

40

45

50

You might also like