15.18

Why is it not desirable to force users to make an explicit choice of a query-processing strategy? Are there cases in which it is desirable for users to be aware of the costs of competing query-processing strategies? Explain your answer.


Why is it not desirable to force users to make an explicit choice of a query-processing strategy?

In most cases and for most users, the database can make better decisions for choosing which query-processing strategy to use. And also we don’t want to burden the user of knowing about the details of every query-processing strategy. We want to abstract out the details.

Are there cases in which it is desirable for users to be aware of the costs of competing query-processing strategies?

I think so. One case that I can point out is given in Exercise 15.17a. We have seen how drastically we can improve the time it takes to execute a query by changing a single parameter \(b_b\). Hopefully the database can pick the optimal \(b_b\), but in cases where speed is a Unique selling proposition of the product (that users are building), then it will be desirable for users to know of the costs of competing query-processing strategies.