Over the last year or so I've been investing a great deal of time to improve my knowledge of both Microsoft SQL Server and MySQL. One is the greatest database engine that's ever existed1, and the other is certainly adequate for many tasks with some caveats. As with many things in life, the more we learn about a specific subject, the less we feel we know about that subject. The vast absence of knowledge stretching before me has me wondering whether I'll ever truly know either of these tools well enough to master them.
In just 11 months I've read 8 SQL Server and 4 MySQL books that have really opened my eyes to how these tools have evolved since I was last working with databases in any meaningful way. Sure, I've used these tools a lot over the last decade, but I've never really had to deep-dive into the subjects in order to provide better support for the engines. With some recent issues at the day job, I feel there is no other option than to absorb as much knowledge in order to take on the role of DBA, as there hasn't been one inside the organization for quite some time. What I've come to learn through this activity is that a lot of what I've previously been taught as "best practice" is now anything but, and it has me second-guessing a lot of the software I've built over the years. This has me wondering if any of the other "best practices" that I've been following are outdated, outmoded, or just plain wrong.
For almost ten years I set aside software development and database work in order to earn a paycheck here in Japan, where my personality type is generally not welcome within a typical Japanese company. A great deal has changed in that time. The question I need to answer now is how to apply this newfound knowledge without essentially scrapping the work that's been done up to now on both personal and professional projects.
in my opinion, anyways