4 ms·
If you need to add hardware to solve a software optimization problem such as this, you've failed your job as a software engineer (if you should even be called a
by hermitdev 8y ago
If you need to add hardware to solve a software optimization problem such as this, you've failed your job as a software engineer (if you should even be called an engineer, neigh, a developer).
I'll probably get downvoted for this, but you should should examine opportunities to optimize your SQL/other storage patterns before you assume anything else if your indicators are your DB is slow.
- ldh 8y agoThe use case is pretty straightforward; TFA says that the referenced columns are both indexed and the runtime is a function of how MariaDB executes that simple query. Do you have anything concrete to offer in terms of optimizing "storage patterns" in this case that the OP has missed? I'm all for optimizing for minimal resource usage, but if plugging $200 worth of RAM into the machine allowed the original query to run in an acceptable timeframe, that may well easily offset the hours of analysis and transformation that resulted in the shorter runtime. Unless, of course, we're more concerned with engaging in a performative defense of our arbitrarily self-bestowed credentials as "engineers".
- mmt 8y ago> If you need to add hardware to solve a software optimization problem such as this, you've failed your job as a software engineer That's an interestingly narrow viewpoint with which I, narrowly, agree. I suspect that the narrow viewpoint is just a form of the aphorism "if all you have is a hammer, everything looks like a nail." > if you should even be called an engineer (if you should even be called an engineer, neigh, a developer) However, in the broader context of engineering as problem solving (or developing a product), I disagree. Not all (computer) problems are best solved with software. As a sysadmin (who can code but doesn't love to), I routinely struggle with managers who don't have an intuitive sense of even a first approximation of what modern hardware is capable of, because their entire background is programming. The fact that (latency) "numbers every programmer should know" exists (and has for quite some time) is fairly telling. What's more telling is that there are no dollar values attached to any of them.
- nomel 8y ago> you've failed your job as a software engineer But you've succeeded in your job in being a practical person trying to get something done. I would love to know where you work, where "let me spend some time on optimizing this query" could be justified over "lets put a few more sticks of ram". Everywhere that I've worked, developer time is much more valuable and much more costly than a few ram sticks (assuming it's just a server or two, and not N instances).