To some extent, yes. When it comes to InnoDB, you can choose what rows can get locked. It is not so much a particular setting for the DB Connection. It is a specific query you have to call before doing UPDATEs. - `SELECT ... FOR UPDATE` - `SELECT ... LOCK IN SHARE MODE` This can initiate exclusive or shared row locks based on the result set of those SELECTs. You can find more on this in the [**MySQL Documentation**][1]. I wrote easrlier posts on using these: - `Aug 08, 2011` : http://dba.stackexchange.com/questions/4469/are-innodb-deadlocks-exclusive-to-insert-update-delete/4470#4470 - `Jan 02, 2012` : http://dba.stackexchange.com/questions/10010/lock-in-share-mode/10017#10017 - `Mar 18, 2012` : http://dba.stackexchange.com/questions/15208/select-for-update-gives-error-on-indexed-column/15219#15219 - `May 09, 2012` : http://dba.stackexchange.com/questions/17561/transaction-lock-timeouts-when-updating-a-row/17649#17649 - `May 13, 2012` : http://dba.stackexchange.com/questions/17788/cannot-update-certain-rows-in-innodb-tables/17795#17795 - `Aug 10, 2012` ; http://dba.stackexchange.com/questions/22286/similar-function-nowait-in-mysql/22296#22296 With regard to sessions and connections - Performing `SELECT ... FOR UPDATE` will initiate locks on rows you intend to update and still permit other DB Connections to read. - Performing `SELECT ... LOCK IN SHARE MODE` essentially does the reverse - lock rows for you to read - allow SELECTs of the same locked rows - prevent connections from doing `SELECT ... FOR UPDATE` or direct DML The only advantage I see in using these `SELECT` queries is too prevent needless deadlocks on pages. I hope this helps !!! [1]: http://dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html