I have really “old” AMI Linux instances, and I need to go with more recent MySQL versions.
People quite often asking me about technology stack, and where to go with next big project. The answer isn’t simple – it depends. Usually, we have couple components which are critical for the whole system. If we are talking about a web-based solution or any API we have to decide about DATABASE, then we have STORAGE, moving on – some BACKEND service language.
From many different reasons I was always using SQL_CALC_FOUND_ROWS to get total number of records, when i was running limited query. Never especially thought about it, until i had some super performance issues with one of my projects. Obviously after quick profiling and googling i found people complaining about FOUND_ROWS() low performance . I wasn’t aware how big impact it was until i tested.
I’m the guy who like to test. Benchmark is my… middle name. You can find dozens articles about speed one or other solution. I mean MongoDB and MySQL . I tried MongoDB couple times, and each time I wasn’t moved by it speed. Got project coming in, when I have to deal with large amount of concurrent connection. It’s not very big, but bigger then casual MySQL load.
So… how did I test – very dump way. Got 2 tables, one around 11k records, second one close to 200k record. Not much. Fields were indexed in both MySQL and MongoDB. And then i run benchmarks. First one had string fields, second one numeric.
In my daily work I really suffered because MySQL wasn’t work after fresh installation. Preference panel just didn’t start MySQL on system startup neither using it into Preferences.
After a lot of google research I found many solutions but only Angry Fly gives me some clues how to find proper fix.