I'm making a query to one table, and inserting it into another table
(INSERT.SELECT syntax). The table that's the source of the copy is
updated constantly, and is has a large amount of data in it. Will
locking the table for write (or read??) access keep insert queries to
the source table from executing at all, or will they be queued, and
executed after the lock is lifted? The MySQL manual wasn't clear on

I may be misunderstanding the SQL meaning of "locking" something; I want
to keep a table from being updated while I'm getting information from
it, but I still want the inserts to be executed after I'm finished with
the table. I'm running the query in a cron job daily to "compress" the
data in a log table, and keep it from growing out of control, by copying
the totals per user from the live table into a daily table, and then
deleting all of the records in the live table. If the live table is
locked and the inserts made during the lock are queued and executed
after the lock is released, it makes the whole thing a lot easier to
manage. I can empty the live table and be sure that all of the data in
the live table the following day is new data, and not worry about data
loss because of the execution time of the script (which could be as long
as 30 seconds or more, we've gotten over 17,500 unique entries in the
past 24 hours, and the site is growing).

Thanks for your help.

-- Josh

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to