A colleague of mine had to debug performance problems in a foreign, proprietary application that is ancient.

To be crystal clear: Only reason that thing exists is because some old geezers fear change.

Asked me for help cause it's an _ancient_ MS SQL server that is luckily running on hardware owned by us.

Finding the credentials was already a funny task.

We had to access the vault (not joking here, we have a physical vault for storing sensitive data and critical backups), grab a folder and find the necessary data cause no one ever dares to touch that thing.

The application is btw for a sort of ERP / inventory system that is used in some ancient shops not yet migrated...

Yeah. Story speaks for itself.

Anyway, after dusting off ourselves, we were able to connect.

Was a bit ... Interesting. Everything's in german. The worst kind of german.

After looking at the first tables, I started giggling.

My colleague knew immediately that this was a sign of danger (insert Simpson meme here), raised his eyebrows and asked "How bad is it....".

Me, still giggling, "lemme take a further look, this is gold".

*long sigh from the colleague*

Well... It ended with me putting my hands in front of my eyes, turning around and saying: "I cannot look at it anymore, it hurts too much...."

To summarize:
- German table names
- When a table exceeded 300 plus columns, they added another table with the same plus suffix "_ddd"… where ddd is an zero filled integer sequence like 001
- To join this mess, they created views... Named "generator" - Sequence Number ... Some had the beginning of table names appended, which doesn't make it less confusing.
- the process list was listing queries running longer than 5 mins.

Which isn't at all surprising when generating carrtesian products of N tables with left join.

I've seen shit.... I've seen a lot of shit.

But that shit scared me.

  • 2
    What’s better.. huge array of columns or a mismatch of json blobs you have to unnest..

    Either way, jolly ho the task of data normalization
Add Comment