Bill Karwin

Senior Database Architect, SchoolMessenger

Throughout his career, Bill has shared his knowledge to help other programmers achieve success and productivity. Bill has answered thousands of questions, giving him a unique perspective on SQL mistakes that most commonly cause problems.


This is a step by step demonstration of methods of complex query development and optimization in MySQL 5.6. When presented with a complex problem, developers struggle to solve it in SQL.
When backing up a database in the cloud, many people are forced to choose between using command-line tools, or else writing a custom script to export data. We may not have privileges to use command-line tools in a cloud environment. Writing your own data dump script is deceptively complex. This presentation outlines a simple PHP class I've written that creates backups in the same format as... [read more]
MySQL 5.6 was released a year ago, with a boat load of new features. Naturally, the community is still in the process of upgrading, and learning how to use the improvements to their best advantage. Percona Server 5.6 includes all the new features of MySQL 5.6, plus many improvements Percona has developed to complement and extend stock MySQL. Come to this tutorial for practical advice on getting... [read more]
"Don't bother me with DBA 'best practices,' we have real work to get done." So go the famous last words from overworked IT managers (we’ve all been there at one time or another). Best practices don't have to interrupt your work or make it harder. Ideally, they should make database operations more predictable and less fraught with emergencies or surprises.