Hacker News new | ask | show | jobs
by dontdoxxme 542 days ago
Submitted it to The Daily WTF yet?
1 comments

Why ??
Others are being mean by not explaining the joke.

Firstly, SQL server has a built-in JSON type, which lets you query and manipulate the JSON directly: https://learn.microsoft.com/en-us/sql/relational-databases/j...

Secondly, JSON is already serialized, so it doesn't make sense to store as a base64 string. You're adding 30% data overhead to transform a string into a string. Base64 is useful for serializing opaque binary formats.

Lastly, some people might be getting a wry smile that you have the power of a relational database but are just trying to store "json" rather than an actual relational model.

How do you query json with SQL server like let's say you have one data point like this

{ "id": 42, "quantity": 12, bla bla bla

And you want rows where this column has quantity and quantity ≥ 20

How do you do it if you encode everything as base 64?

You slap a full text index on the base64 string. There's only a finite number of base64 substrings for the un-encoded substrings "id", 42, etcetera, so you first filter on those. Then you decode those full strings into json and do the final filtering application side. Easy!
<joking>have col names id, quantity, json and greaterthan20
This is only a joke until a manager hears it. Then it’s part of the Q1 roadmap and we will refactor it in Q3.