This is indeed odd.  The point of the variable is to use myisam temporary tables when innodb storage is used because there is a huge performance hit to using innodb temporary tables.  The default of null makes MariaDB use innodb temp tables which will cause a performance degradation.  I'd expect the variable to default to myisam or aria.

On Feb 9, 2017 3:59 AM, "Ian Gilfillan" <ian@mariadb.org> wrote:
On 09/02/2017 11:58, Sergei Golubchik wrote:
Hi, Ian!

On Feb 09, Ian Gilfillan wrote:
What is the purpose/effect of having MariaDB's
default_tmp_storage_engine setting default to NULL instead of the
default used in MySQL, Innodb? I can't see any obvious differences in
behaviour.

NULL means "same as default_storage_engine"
That is, no matter what you change your default_storage_engine to be,
temporary tables will always use the same engine.


Thanks, but I'm also trying to understand why this decision was made. It's an odd obscure difference to the MySQL behaviour, and I'm sure someone is going to run up against it some day, and I'd like to try document the reasoning behind it.


_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp