MySQL Forums
Forum List  »  InnoDB

Re: Deadlock while doing performance testing in clojure/mysql
Posted by: Rick James
Date: March 22, 2014 08:31AM

Does "column-values" include moin_id? It should not, since it is AUTO_INCREMENT. (Or it could be given NULL.)

How much RAM do you have? (Hopefully more than 4GB, based on innodb_buffer_pool_size=2G.)

Perhaps decimal(17,3) is excessive for times.

All the fields are NULLable; this is probably a mistake.

Changing innodb_flush_log_at_trx_commit to 2 is likely to help. You have ordinary disks, correct? (As opposed to SSDs and/or RAID.) With a value of 1, it will flush stuff to disk after every commit, thereby limiting you to the 200 transactions/sec that you are experiencing.

I don't see the BEGIN and COMMIT in the code; is it implicit in the framework that you are using?

What is the value of the VARIABLE autocommit?

I see 4 copies of this pattern:
_start_time decimal(17,3) ,
_time_taken int(11) ,
_error varchar(4000) ,
_status varchar(20) ,
You should probably build another table for those for columns (plus an ID for JOINing on).

You have no "compound" indexes. Keep in mind that a SELECT will (usually) use only one index. So if you have multiple fields in WHERE / GROUP BY / ORDER BY, you may be better of with compound indexes. Show us some SELECTs to get further advice.

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Deadlock while doing performance testing in clojure/mysql
1086
March 22, 2014 08:31AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.