If there are no holes in the data structure storing the MyISAM data, this concurrency is possible but as soon as any real-world maintenance kicks in, those holes will exists and the rules kick in:
on MyISAM you may have 1 writer OR many readers. a write operation will wait for ongoing read operations to complete read requests which arrive while a write is pending will wait until the write is complete Because of this, any slow readers have the potential to cause your insert queues to back up. INSERT DELAYED is a bandaid at best as it just moves the problem around. It can still happen that delayed inserts can timeout and never get writtien. Should the server be interruputed you are in a posiution where your app thinks it wrote records that never, in fact, made it to the disk. InnoDB with the appropriate read isolation level (ie. READ_REPEATABLE) need not suffer from these symptoms. - michael On 5/15/07, Dan Nelson <[EMAIL PROTECTED]> wrote:
In the last episode (May 15), Dan Buettner said: > Hi Edoardo - > > I think you've been misinformed; MyISAM tables do not support > simultaneous read and write operations. MyISAM is a multiple > reader/single writer, table locking design. You may want to switch > to InnoDB tables for that functionality. MyISAM tables do allow concurrent inserts and selects, by appending the newly-inserted records to the end of the table: http://dev.mysql.com/doc/refman/5.0/en/concurrent-inserts.html Some things to try would be setting concurrent_insert=2 (to force concurrent inserts even if there are holes in the table) or setting low_priority_updates=1 ( to keep inserts from trying to lock the table when there are pending selects ). If those don't help, then you may be forced to switch to InnoDB, or maybe set up replication and run your reporting queries on the slave. > http://dev.mysql.com/doc/refman/5.0/en/table-locking.html -- Dan Nelson [EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
-- - michael dykman - [EMAIL PROTECTED] - All models are wrong. Some models are useful. -- - michael dykman - [EMAIL PROTECTED] - All models are wrong. Some models are useful. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]