SELECT COUNT(*); FROM product INTO ARRAY Ar SELECT clients.clientid, clients.name; FROM ((clients JOIN orders ON orders.clientid = clients.clientid) JOIN Ar ON orders.productid = Ar.productid); GROUP BY clients.clientid, clients.name; HAVING COUNT(*)=Ar; |
|
|
|
|
product clients
|
clients orders
Расчет сложности исходного запроса приведен ниже.
где
где
где
Очевидно, что
где
Очевидно, что
где
Так как операция группировки является последней, то для нее не производится расчет сложности.
Окончательно имеем:
Оптимизированное дерево запроса представлено на рисунке 2.25.
|
|
|