Yet it’s the sysadmin who gets blamed, not the developer. “How can you tune the database so this doesn’t happen?”
I am telling you this because hopefully it will make you feel a little better. Our head of it blames devs for slow queries.
In my 30 years of experience, it is usually the devs.
As a dev, yes usually. It is certainly the better starting point.
Devs who don’t understand how SQL or relational databases work write absolute abortions of queries.
9 times out of 10 - yes it is absolutely the devs. I say that as the dev who gets tasked with analysing why these shitty queries from our low budget outsourced labour are so slow
So you are saying you are the expert in unshitifying queries? What is the most common thing that needs to be unshitified?
Err, no? At what point did I claim to be an expert?
It doesn’t take a genius to realise that serving 100-record chunks of a billion record dataset using
limit 100 offset 582760200
is never gonna perform wellOr that converting indexed time columns to strings and doing string comparisons on them makes every query perform an entire table scan, which is obvious if you actually take the time to look at the query plan (spoiler: they don’t)
“Why can’t the system handle more than 2 queries per second? This database sucks”
I didn’t mean it so serious. I just tried to express that you seem to have experience with it and I am wondering what you have to deal with. I am sorry if it came across negatively.
I’m the sysadmin (and transitioning to DevOps) at work, but the DBs are 100% in control of our two devs (one of which being the head of IT).
Apparently we’re going to hire a third Dev, who will moonlight as our DBA – oh, and for 30K/yr.
I’m sure this will go well.
At my job, it’s almost always the dev team that is called first for bad DB performance (not always, because sometimes it is the server that’s borked).
Infinitely this, biggest pet peeve
So the guy died and decomposed in 10 minutes and somehow it mysql’s fault?
Poor guy got sigkill-ed, but MySQL keeps going with the request
10 minutes for a process is essentially infinity
Very big table, complex operations, much waiting, so yeah.
In this comic, bodily decomposition occurs at a “feels like” pace:-).
Allergic to Indices? If your database is slow just add more Indices until you have one on every column of every table! :-)
Hi I need to add some data to the database.
No you fucking don’t
Sounds too good to be true.
The guy after him:
“Hmm since I don’t feel like looking in the documentation for every possible key of this attribute, I’ll just throw a
distinct
. And while I’m at it, let’s do this for every attribute that I don’t know the keys of”This is fake the pid of the younger guy is smaller than that of grandpa
Their age is measured in CPU time
and their niceness increases with age
Could be an instance of BSD where (so I hear) PIDs are assigned randomly from the unused numbers, or else the system has massive process churn going on elsewhere and the old timer is from a previous cycle of consecutive PIDs.
Some systems still have
/proc/sys/kernel/pid_max
set to something around 32768, so wrapping back to 0 can happen fairly often.Given all the PIDs in the comic seem pretty low, it might even be as low as 1024 wherever this is.
(Yes, I know I’m taking this way too seriously.)
Is this a MySQL specific problem? I have witnessed a few dead queries on Sybase / Oracle / etc
I don’t think its mysql specifically, but for some reason the worst systems I have used, all have mysql/mariadb as a database.
It seems shitty applications gravitate to mysql, use it poorly, then bring a bad name to mysql.
But given all my years of experience with it, MSSQL > Posgresql > Mysql > Oracle
I feel like the popularity of the LAMP stack (or WAMP if you were just starting out your interest in software and hadn’t yet moved to Linux) in the 00s and early 10s is to blame here. MySQL ended up being the default choice for people who didn’t know much about databases.
Now that I know more than I did at the age of 14 when I first started learning programming… I’ll be honest, I’m still likely to choose MySQL just because it’s familiar. But at least I know what indices are now, and I try to avoid dependent subqueries :)
To be fair, I feel like I should use Postgresql more, I just haven’t actually ever worked on anything that needed the cool data types it has extensions for.
I was a DBA for over 10 years. Postgresql is superior to mssql in most ways. Especially replication.
But that does not mean that mssql is bad. MySQL is, oracle is.
Databases need tuning for your workload, and most people just think it’s a big box where you can dump anything you want and it will work. And then when it chokes on a terrible query they blame the DBA.
This makes DBAs very cranky.
Usually DBMSs have some small capacity to handle requests in parallel so everything slows down, but work is still getting done.
How come people use sql instead of just using text files? I just use text files for everything
What are text files if not binary blobs on disk?
What is SQL if not a query layer over a bunch of binary blobs on disk?
Very zen.
Using subqueries instead of CTEs, scrubs!
Why do they wait in line for one guy? It’s just a select and there should be multiple employees at the counter, or not?