

Does MySQL support row level locking? - known

Is it different from Oracle's locking mechanism?
======
brk
MySQL uses table-level locking for MyISAM and MEMORY tables, page-level
locking for BDB tables, and row-level locking for InnoDB tables.

How do I know this? I put your exact question into Google, and clicked "I'm
feeling lucky". Try it some time :)

~~~
known
I am trying to understand the technical differences between Oracle and MySQL
locks

for e.g.

F_SETLKW This argument tells fcntl() to attempt to obtain the lock requested
in the struct flock structure. If the lock cannot be obtained (since someone
else has it locked already), fcntl() will wait (block) until the lock has
cleared, then will set it itself. This is a very useful command. I use it all
the time.

F_SETLK This function is almost identical to F_SETLKW. The only difference is
that this one will not wait if it cannot obtain a lock. It will return
immediately with -1. This function can be used to clear a lock by setting the
l_type field in the struct flock to F_UNLCK.

F_GETLK If you want to only check to see if there is a lock, but don't want to
set one, you can use this command. It looks through all the file locks until
it finds one that conflicts with the lock you specified in the struct flock.
It then copies the conflicting lock's information into the struct and returns
it to you. If it can't find a conflicting lock, fcntl() returns the struct as
you passed it, except it sets the l_type field to F_UNLCK.

