[sr-dev] db_mysql with Transaction support

Juha Heinanen jh at tutpro.com
Wed Apr 3 12:35:46 CEST 2013


Håkon Nessjøen writes:

> MySQL only supports locks on rows with the InnoDB engine. But as far as I
> know, when installing the mysql tables with kamdbctl, the tables are added
> with the MyISAM engine.

MyISAM should not be hard coded in the mysql scripts.  there should be a
variable in the beginning of the scripts that tells what engine to use in
the same way there are variables for db users/passwords.

> So, should I start modifying the install scripts so that we use InnoDB
> engine, or is a table-lock sufficient when myisam is used? Mysql will not
> give an error if the engine does not support locking on individual rows. So
> the experience will be transparent for the end user, except for the locking
> of the whole table.

it is enough if the issue is described in the README of the modules
affected, i.e., a note that tells to use InnoDB engine in order to get
locking benefits when db is MySQL.

> Also, it is important that the columns that the query compares against, is
> indexes, or else the table will be locked even if the table engine is
> InnoDB. I'm not sure if presence only queries for indexed columns?

if some indexes are missing, they should be added.

-- juha



More information about the sr-dev mailing list