I love this video on "getting dreadful database performance" by Stephan Faroult.
The video is hilarious and infomative:
He tackles top 5 keys to dreadful peformace
1. EAV "schema" 2:10
2. Unusable indexes 6:00
3. Hard parsing 7:36
4. Unitary processing 10:40
4.5 user functions (instead of join, ex: currency conversion) 12:19
5. views of views 14:46
Conclusion: most developers are young and clueless about database (java programmers?) and code must be refactored by devlopers not by DBAs in production databases, and hopefully with guidance by an experienced (older) expert.
The first topic EAVs was a huge problem at 3 of the last 4 companies I was at, including Oracle's OEM 10g Grid control, despite solid analysis of pro's and con's by John Beresniwisz.
Check out more on the EAV at: http://en.wikipedia.org/wiki/Entity-Attribute-Value_model
And by Tom Kyte at: http://en.wikipedia.org/wiki/August_24
Just emailing Stephan, I found out that his video was inspired by this fun video (though less related to UI or databases):
I like this kind of presentation. Fun and informative as well as efficiently re-iterating the important points.