Deepak Gupta wrote:
> I am getting some serious load control problems right now. Any help
> will be greatly appreciated!
> Our db activity is mostly inserts with the occassional select and *a ton
> of selects* at night on cron. Increased dramatically y'day, since we
> got "coolsiteoftheday." We are processing about an insert a second,
> nothing too intense, into a 9M table.
> However, if someone logs a select * type query against the server, bad
> things are happening. The inserts get "Locked" according to the process
> list and they pile up on top of each other. Even if I manually kill the
> select thread it doesn't "flush" from the processlist. BTW, I increased
> the record_buffer to 1M.
> Can I switch my selects to not lock INSERTS? Is that what "INSERT
> DELAYED" does? A slight delay in select accuracy will not hurt us so
> maybe I should use a separate "log file" to store the inserts and run a
> cron on them, inserting them all at once?? We don't use indices on the
> table --> perhaps that is what is slowing down our Selects? But we
> don't want to slow down selects at the cost of INSERTS.
Yes, use INSERT DELAYED and your SELECT's will be processed with priority.
Also this will speedup the time used for INSERT.
If you want to speedup your SELECT's you should use KEY's. Though this will slow down your
INSERT's a bit.