See you missed lot of thing here..
1) What's your database version..?
2) You feel this information is enough to give recommandations.?
3) When ever you post tunning queries - Need to post entire explain plan ..
So i suggest Run the query - then after run the below
select * from table (dbms_xplan.display_cursor (format=>'ALLSTATS LAST')); and post the result
"best practices" don't make queries automatically go fast. These are just very general guidelines which help you minimize chances of getting into trouble. But once you got into trouble, "best practices" aren't very helpful any longer.
Consider this analogy: washing your hands often will help you minimize chances of getting an infection. But once you got infection, no matter how many times you wash your hands, you won't get better. The right thing to do is to perform diagnostic and to identify which part of the system is not functioning properly -- this is true both for medicine and engineering.
Oracle database has a rich set of tools for diagnosing performance problems, including plan rowsource statistics, extended SQL trace, real-time SQL monitor, active session history, and many other. You need to learn to use them at least on some basic level, because without it you won't be able to get any external help: we can't diagnose your system even if we wanted to, but if you do diagnostic correctly, we would be able to help (and most like, you won't even be needing our help, because you'll see the problem yourself).
PS And the autotrace dump you posted here -- I don't think that it's for the original query because nothing here indicates long execution time
PPS When posting tuning requests try and avoid using vague expressions like "too slow". Be specific: tell us how long the query takes to complete, and why you think it should complete faster.