![]() ![]() Turns out the MySQL and SQLite database drivers they were using had subtle differences in how dates were handled: the test suite assumed all dates without timezones were UTC but the MySQL used a floating time zone. The argument was "because it's faster." It took me months to get them to admit they were wrong. Same client: they had a large test suite, but were using SQLite (!) as their database for testing. They had to throw away two years of data. One client had a massive data science project running for a couple of years, and I discovered that because they weren't using strict mode, the 30-character key they were using to join all of records was being stuffed into a VARCHAR(20) field and being truncated. Why the hell give me a date type if I can put a non-date in it? It's like declaring something an integer and discovering the field contains the string "bob" or something. Hell, for the longest time, their documentation said "it is not the job of the SQL server to validate dates". You want division by zero to throw an exception. What I want is something closer to this (reformatted for your pleasure): STRICT_TRANS_TABLES,STRICT_ALL_TABLES,īecause they aren't in strict or traditional mode (traditional is like strict mode but offers even more safety), their database allows a lot of junk to pile up in it. Most of the time, it will show me nothing. Usually when I go into a shop using MySQL, one of the first things I do is this: mysql> SELECT | The real issue is that for older code bases, they're usually using an older version of MySQL and they can't just enable strict or traditional mode ("traditional" makes it sound like it's quaint or something). I replied from my phone, but now that I'm at my desk, I can take longer. One proc took 8 minutes, now in Postgres finishes in 3 secs.Įdit: added 7 and 8 cause I love Postgres and forgot to. We were using Python utilizing Pandas to merge and join. All of our databases from the past 10 years are now in their individual schemas. Postgres is now serving as a data warehouse of sorts. These run faster than anything I’ve created in Postgres and are native.Ĩ. I’ve been recently doing lots of JS funcs for JSON payloads e.g. Ability to create procs/funcs in different languages like Python, JavaScript, Perl, etc. ![]() More robust data types (UUIDs, Booleans, etc.)ħ. I’ve been at my current employer for 10 months and have been transitioning them from MYSQL to Postgres for 4 months. Hands down, Postgres has everything you want and more. But I’ve used Oracle, Postgres, SQL Server, and MySQL during my career. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |