People often wonder why DBA's used to hate developers, and with DBA's also the System Engineers...
(note that I just expanded devops by adding dba's to the picture..)
So let me tell you a story ..
A couple of weeks ago one of our customers wanted to start experimenting with a new type of CRM. A gamified CRM. Zurmo.
So we set this thing up in a dev environment and started playing with it. While at first it looks nice...
the application actually felt pretty slow. Given that it is a low resource development environment, however, we looked no further.
Yet the next step is that we run into missing features, such as the fact that every contact you create by default is
set to private .. which really isn't productive for a CRM system where you want to be able to follow up on different
customer and share information.
So we tried figuring out what the database changes to do this in bulk would mean, surely it had to be a flag on the contact record .
Wrong, Zurmo uses an ORM for their database connectivity ...so their data model wasn't really trivial.
So we decided to look at the MySQL log file to figure out what db changes happened when updating the record
Yes there's better approaches but this one learned us a lot ..
The procedure I followed was pointing my browser to the page where I wanted to switch the checkbox,
log on to the mysql box, set global logging on . Clicked the checkbox and stopped global logging.
This gave me a log file with all the database actions required to make that one single change.
I had to cross check a number of times ... the file created by this short and small action was.
Puzzled you start looking at the queries ...
The query list was full with "SELECT * FROM " stanza's ..
70K whopping K of queries that make your hair turn grey ...
I figured I'd file a bug .. but I couldn't find no bugtracker for Zurmo, only a forum (and forums are the most broken form of communication imvho) , yet the developers responded on Twitter.
The feedback wasn't really satisfying so we quickly decided that supporting this application was not something we would like to do..
and abandonned it..
The real question is who needs a Gamified CRM anyhow...
PS. So while finishing up this article on a late evening this week I might not have put in clear enough that the generated logfile was 70Kb .. I fear some people misunderstood that it generated 70.000 queries. Obviously a huge difference. But still the log file shouldn't have been bigger han 1Kb There should have been 2-3 queries max (https://github.com/KrisBuytaert/snippets/tree/master/zurmo)
But imvho if the size of the queries you are generating is bigger than the page you are generating you are most often doing it wrong.