[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MySQL vs. Postgres

> > postgres is using record-level locking, what does mysql do, is it
> > locking the whole table ? what are rollbacks? what other advantages 
> AFAIK mysql locks whole table, 
> rollback is term used with transaction - thing is, you put some sql
> statements inside transaction, and one of them fail, you rollback all 
> changes so your database is in consistent state.
> This is very important thing especially in networked apps (and that's 
> you need sql server for, don't you?).
> I'm probably a little bit biassed against mysql, since in their docs 
> talk about transactions like their useless and that's why they haven't
> implement them ( and not because they don't know how ;).
> And according to my knowledge transactions are one of the fundaments
> of database programming.

I disagree with Eyck on this. I am a database programmer, have been 
since dBase II back in the early '80s. It all depends upon the 
application. Transactions are very, very useful under some 
circumstances, but if you can do without them, you can speed your 
database engine up a lot. Same thing with Foreign Keys, which MySQL 
does not support. If your application is going to be a large database 
with multiple tables that will need to be updated simultaneously, then 
Eyck is 100% correct, you need a database that supports transactions. 
However, most of the web based stuff I write does not require this. I 
am generally updating only one table at a time. In this case, I go 
MySQL to decrease my resource requirements.

>  > there in using postgres instead of mysql ? 
> It's only my personal opinion postgres is more secure due to easier
> administration and ability to define remote access permissions 
> easily and precisely.

MySQL has a weird way of setting permissions, but once you figure it 
out your permissions are granular down to the user/table/action, which 
is what I get out of the "Big O" also.

Point is (and I don't want to turn this into a religious argument), 
choose one. If you choose MySQL and find that it doesn't do what you 
want, change a few lines in your scripts (or, maybe an access module 
used by all your scripts) and turn on postgres. If you choose postgres 
and find it is too slow, and have optimized your queries and tables, do 
the same thing and go to MySQL. Your scripts should remain essentially 
the same, especially if you keep all db access scripts in one location.



Reply to: