Functionally, the query result is
probably fine! (When is it not?!)
The physical I/O is probably fine, since
any extra reads will be to the same blocks, redundantly. This will
actually improve your cache hit ratio (while harming
your performance!).
The logical I/O may (or may not) be
increased significantly, depending on the execution plan, but the CPU
usage will almost certainly be increased significantly. (Looking for SQL with
excessive logical I/O wont always find these problems!)
Without the DISTINCT, we lose an implicit
sort. We might need an ORDER BY to restore that sort.
SELECT DISTINCT O.Order_ID, O.Order_Date,
C.Name, L.Line_ID, L.Quantity, I.Name
FROM Orders O, Order_Types T, Order_Lines L, Items I,
Customers C
WHERE
O.Customer_ID = :B1
AND
L.Order_ID = O.Order_ID
AND
I.Item_ID = L.Item_ID
AND
C.Customer_ID = O.Customer_ID;