Ah, query hints. For all those times when the database isn’t doing what you want, they’re a useful tool for forcing the query optimizer to perform your bidding. But in this case, not only is the road to Hell paved with good intentions, it’s paved with a frictionless slide directly into a wood chipper that empties handily into an active volcano. With query hints, be careful what you wish for, because—to the detriment of all you hold dear—you just might get it.
Ok, so I’ve already corrected gaudy and horrible behavior part and parcel with default PostgreSQL installs, but what about that… other open-source SQL database? Is it wrong too? Sure is!
Fixing Your Damn Server Again My fake system still has 8GB of RAM, but we’ll be using more of it for a MySQL install. Why? Because MySQL’s planner makes different assumptions about memory allocation than PostgreSQL. Remember sysctl.conf? Put this in there:
I just finished reading Daniel Suarez’s Freedom (TM) in about three days. This is much more a statement of the novel’s quality than my own somewhat glacial reading pace.
There’s a lot in here I really love. Mr. Suarez has clearly done his research, even listing many of his sources, along with the universities and labs inventing the technology he brought to life. Back again are the AutoM8’s, the Razorbacks, and the rest of Loki’s arsenal.
In the world that we despise, are there times of loss or wonder? Toiling ever, full of lies, sick of writhing, going under. In that bleakness waiting never, 'till no senseless drone became. Wrath or sunder, thrash or sever, breaking through with none to claim. And that weakness sups upon us, gibbers for our souls do slake. With a thirst so vile and vicious, we but shiver in its wake. Thus all reason burns with malice, shackled minds do shriek and wail.
So you’ve decided to use PostgreSQL as the database for your sparkly new website running some variant of a LAMP stack. Or maybe you just got a new job and must now administer a PostgreSQL install so you excitedly did your research. You’ve read the install docs, tinkered on a VM, and you think you’ve got everything ready.
You’re wrong. You’re going to run out of disk space, your website will be slow, and you’ll go running to the PostgreSQL mailing lists in abject terror because you have no clue what is wrong.