Table of Contents
Advanced DBI
Topical Topics
What’s it all about?
A picture is worth?
Speed Speed Speed!
Give me speed!
Partition for speed
Prepare for speed
How would you do it?
The best laid plans
MySQL’s EXPLAIN PLAN
Oracle’s EXPLAIN PLAN
PPT Slide
Changing plans (hint hint)
Respect your server's SQL cache
Hot handles
Summary (so far)
Let the DBI cache your handles
Another prepare_cached() example
Keep a handle on your databases
A connect_cached() example
Sling less for speed
Error Checking & Error Handling
The importance of error checking
Error checking - ways and means
Handling errors the smart way
Handling errors the smart way
Wheels within Wheels
Setting the scene
Architecture of the DBI classes #1
Architecture of the DBI classes #2
Anatomy of a DBI handle
Method call walk-through
Watching the DBI in action
Enabling tracing
Our program for today...
Trace level 1
Trace level 2 and above
Transactions
Transactions - What's it all about?
Transactions - Life Preserving
Transactions - How the DBI helps
Transactions - Example code
Transactions - Further comments
DBI for the Web
Web DBI - Connect speed
Web DBI - Too many connections
Web DBI - State-less-ness
Web DBI - Browsing pages of results
Web DBI - Concurrent editing
Web DBI - Tips for the novice
DBI security tainting
Handling LONG/BLOB data
Portability
Portability in practice
The Power of the Proxy
DBD::Proxy & DBI::ProxyServer
A Proxy Picture
Thin clients and other buzz words
The practical realities
Flexing the Multiplex
DBD::Multiplex
Reference Materials
The end.
|