- Feb 29, 2000
- 29,557
- 166
- 106
http://www.youtube.com/watch?v=1PoFIohBSM4
Interesting video showing the differences between MySQL and PostgreSQL.
Interesting video showing the differences between MySQL and PostgreSQL.
Mysql is an abomination. I've always said so.
To be honest with you, I think the things shown in that video are simply design decisions. When you have tons of custom applications all reading/writing to your database, would you rather: throw exception codes which the other application would then need to test for, trap, and display, or would you rather simply attempt to do what they asked you to do to the best of the ability given the constraints set on the database? Hey, you are trying to put text in which is larger than my buffer, well, you can't do that, but you can fit this many characters.... To be honest, MySQL puts the onus on data verification where it should be, at the client side application which it taking the input in the first place. People who use MySQL know this. People who use databases in general should be doing this anyway. You should always test/verify the data before attempting to load it into a database, this way you don't bog down the database server dealing with bogus data inputs in the first place.
uuuh... yesWhen you have tons of custom applications all reading/writing to your database, would you rather: throw exception codes which the other application would then need to test for, trap, and display...
He doesn't state the storage engine used. IMHO another weird thing of MySQL because it can completely change it' behavior. The default engine MyISAM AFAIK does not have transactions!!! You need InnoDB for that which has other downsides. Then there are companies that have custom storage engines for MySQL which are better than the default ones and also might not have the weird behavior as shown in the video.
And you can actually set the engine on a per table basis so will need to now the engine to know how the table will behave or just to sanity checks before anything or use a real RDBMS.
To be honest with you, I think the things shown in that video are simply design decisions. When you have tons of custom applications all reading/writing to your database, would you rather: throw exception codes which the other application would then need to test for, trap, and display, or would you rather simply attempt to do what they asked you to do to the best of the ability given the constraints set on the database? Hey, you are trying to put text in which is larger than my buffer, well, you can't do that, but you can fit this many characters.... To be honest, MySQL puts the onus on data verification where it should be, at the client side application which it taking the input in the first place. People who use MySQL know this. People who use databases in general should be doing this anyway. You should always test/verify the data before attempting to load it into a database, this way you don't bog down the database server dealing with bogus data inputs in the first place.
That's twisted logic.
You're right, the onus is on the application to verify data. And to do that, the database should throw an error saying there was a data overflow and let the application decide how to deal with it. Silently accepting bad data is terrible.
To be honest with you, I think the things shown in that video are simply design decisions. When you have tons of custom applications all reading/writing to your database, would you rather: throw exception codes which the other application would then need to test for, trap, and display, or would you rather simply attempt to do what they asked you to do to the best of the ability given the constraints set on the database? Hey, you are trying to put text in which is larger than my buffer, well, you can't do that, but you can fit this many characters.... To be honest, MySQL puts the onus on data verification where it should be, at the client side application which it taking the input in the first place. People who use MySQL know this. People who use databases in general should be doing this anyway. You should always test/verify the data before attempting to load it into a database, this way you don't bog down the database server dealing with bogus data inputs in the first place.
what I hate most is seeing databases with no constraints "for the programmers convinience "
That's like saying the sky is blue. No SQL DBMS is relational. You have to do the work to make each DB itself relational. MySQL make it harder than others.Agree. Never had to deal with it until recently and didn't know it's peculiarities. I'm actually tending to not call it a relational database...
FTFY. I'm a programmer. But, I actually passed my math classes, and understand how sets work. How any non-BASIC programmer can not intuitively understand working with sets is mind-boggling. It's kind of scary to think that such people do OOP.in a way, yes. these are design decisions. MySQL was designed by code monkeys.
Which is doubly bad, because constraints are useful for programmers. Unless, of course, they always fully understand everything about a large complex system worked on by many people, and never wrote a bad line of code in their lives...what I hate most is seeing databases with no constraints "for the programmers convinience ".