In my opinion, typically if you need to use the keyword
DISTINCT
, there's something wrong with either the query or the database design. Using DISTINCT should be a rare case and well justified.
Without knowing the design, the data or the requirements, I would suggest you go through the model and invesigate that it properly satisfies the requirements and is well normalized.
One typical problem is that if the 3rd normal form isn't met, the need to use distinct arises in several use-cases. For more information, please see
Third normal form[
^]