I have also seen the table locking on deletes and even on large selects
with INNODB.  I had converted to INNODB strictly for the "row level
locking" that is the biggest selling point of using INNODB.

So all the avantages of INNODB that are advertised (ie - row level
locking) are mis-represented?

Right from the mysql website:


" 14.2.1. InnoDB Overview

InnoDB provides MySQL with a transaction-safe (ACID compliant) storage
engine that has commit, rollback, and crash recovery capabilities.
InnoDB does locking on the row level and also provides an Oracle-style
consistent non-locking read in SELECT statements. These features
increase multi-user concurrency and performance. There is no need for
lock escalation in InnoDB because row-level locks fit in very little
space."



> -----Original Message-----
> From: sheeri kritzer [mailto:[EMAIL PROTECTED]
> Sent: Friday, February 10, 2006 9:52 AM
> To: Ady Wicaksono
> Cc: mysql@lists.mysql.com
> Subject: Re: Innodb table locked on delete
>
> Innodb is not row-level locking -- it's
> memory-page-level-locking.  A memory page is usually small,
> so it's almost like row-level locking, but not quite. 
> Perhaps you're running up against that?
>
> What does the query log say which queries were running?  How
> do you know it's the delete that's taking the lock, and not
> an update (the error message said an update or a delete)?
>
> -Sheeri
>
> On 2/10/06, Ady Wicaksono <[EMAIL PROTECTED]> wrote:
> > So where's the row locking?
> >
> > I configure my database with Innodb + READ COMMITED, by this
> > configuration by using autocommit=1, delete should be done
> on data commited to disk.
> > Other thread should be able to insert/update.
> >
> > CMIIW
> >
> >
> > > Tables are locked on delete because, like an update, they are
> > > changing data.
> > >
> > > Imagine issuing a REPLACE statement after a DELETE statement.  If
> > > the DELETE locks the table, then the REPLACE happens AFTER the
> > > DELETE, as you wanted.  If the DELETE does not lock the
> table, then
> > > it's possible the REPLACE will happen before the DELETE, and the
> > > DELETE will delete the row you just replaced.
> > >
> > > -Sheeri
> > >
> > > On 2/9/06, Ady Wicaksono
> <[EMAIL PROTECTED]> wrote:
> > >> Why table locked on delete?
> > >>
> > >
> > >
> >
> >
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:   
> http://lists.mysql.com/[EMAIL PROTECTED]
>
> 

Reply via email to