This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-16. For the latest, interactive version please visit https://mariadb.com/kb/.

Locking/deadlocking on temp tables?

Hello - I am coming up to speed on MariaDB, I have a MS Sql Server and Hadoop background but we are starting to use MariaDB heavily. We have some queries that hit tables with mediumtext datatype columns. My understanding is these types of queries will always generate temp tables directly to disk (because of the text/blob types). I've confirmed our temp table engine is Aria.

From what I've read, in the mysql world, this situation would end up with a MyIsam table on disk, which does not have row locking, only table locking. I've tried looking for info on how Aria tables would handle this as I suspect we are getting deadlocks on these tables. Our application is reporting many database deadlocks, our entire database is all ExtraDB tables, yet SHOW ENGINE INNODB STATUS does not report any deadlocks, which leads me to think it is the temp tables.

So I guess my question is, does the Aria engine do row locking? Is it possible to get a status similar to SHOW ENGINE INNODB STATUS? Please forgive me if this is painfully obvious or unclear (I'm still learning!), and thank you for your time. -Aaron

Answer Answered by Justin Swanhart Swanhart in this comment.

If you are using Galera, then aborted transactions due to lock conflict are reported as deadlocks.

Temporary tables are not shared between connections and can not cause deadlocks.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.