4 Answers. Yes, as using DISTINCT will (sometimes according to a comment) cause results to be ordered. Sorting hundreds of records takes time. Try GROUP BY all your columns, it can sometimes lead the query optimiser to choose a more efficient algorithm (at least with Oracle I noticed significant performance gain).
Does distinct affect performance?
Yes, basically it has to sort the results and then re-processed to eliminate the duplicates. This cull could also be being done during the sort, but we can only speculate as to how exactly the code works in the background. You could try and improve the performance by creating an index composed of all three (3) fields.
Is it bad to use distinct?
Well, improper use of "distinct" not only hides the real problem (duplicate entries in the tables, lack of condition in the on clause) as discussed above but also degrades query performance. ... This will bring the IO Cost (logical reads) of the query goes up significantly.