HN user

arronax

26 karma
Posts0
Comments11
View on HN
No posts found.

What's notable is that the Rifters trilogy just progresses in intensity and in the overall gloom. Starfish is light reading compared to Behemoth, which is sitting for me on the last chapter, because I couldn't finish it.

Of course there are "bad queries" where you query for things you don't need, join on the wrong columns, etc.

You can inject a hint into the query, forcing it to use a plan that would not otherwise be used, for example. Although, fixing a plan through a baseline is way cleaner. Mostly, I just meant that as an extreme example of something you can do, not something you should do. And yes, the only reason to re-write the query is when the query itself is bad in that it asks for unnecessary data or misses a join column. Admittedly, that's an extremely dirty and dangerous thing to do, as it uncouples app from db, but it is possible.

While pinning a single plan or disabling parallel operations is a valid quick fix, I'd recommend trying to actually understand why the optimizer is doing what it's doing. It's all "just" a simple math of execution node costs. The problem with plan hints, or disabling parallel, is that unless you have a perfect understanding of where the data will be in, say, a year, you may just have created another problem, just delayed. Some column will go from 10 to 10,000 unique values and your good plan will become way off. And at the end, perhaps you just need to tell PG that an index access is not 4 times as expensive as a plain heap scan.

ps fighting the optimizer is the worst

Oracle DB is, or was, very close to that with its query profiles, baselines, and query patches. It wasn't automatic back in 2014 when I last worked on it, but all the tools were there. Heck, it was possible to completely rewrite a bad query on the fly and execute a re-written variant. I suppose it all stems from the fact that Oracle is regularly used under massive black boxes, including the EBS.

Also, the problem with automatic indexing is that it only gets you so far, and any index can, in theory, mess up another query that is perfectly fine. Optimizers aren't omniscient. In addition, there are other knobs in the database, which affect performance. I suppose, a wider approach than just looking at indexes would be more successful. Like Ottertune, for example.

One of co-authors here. Yes, I expected that to be a huge problem, but, at least for Ubuntu (or, I guess, deb packages), it seemingly wasn't. Which is a pretty big deal, as I doubt a lot of people compile their own PostgreSQL. Trying to push PG on ARM platform to a limit would be an interesting exercise, though, and could necessitate a custom build.

I had experienced loss both of smell (completely, kitty litter smelled like nothing) and taste (not completely). You still sense if something's salty, for example, but it's very remote. As an anecdote, the aubergine paste, which is usually off-putting and bitter to my taste (but smells nice) started tasting like nothing, really, so I happily ate my wife's supply. Soy sauce also seemed far less salty than usual. Taste remains, but very far, and smell is just lost. Very bizarre experience, would not recommend.

There are also MySQL operators from Oracle, Presslabs, and Percona. Vitess is much more than just MySQL in k8s, and not everyone will be able to switch to it easily (if at all).

bluetooth/pulseaudio not snappy and reliable

Without patching of pulseaudio, microphone on a bluetooth headset doesn't work anyway. I'd take not snappy but working any day, really. Maybe in Pulseaudio 14 this will get resolved, there are a couple of proposals/drafts already.