Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools Database Foundations Creating Tables and Manipulating Data with SQL Creating a Table

Seth Warner
Seth Warner
5,348 Points

who determines what "engines" are available in that D.B.? The server? Work bench? Can you download more engines?

Just wondering! :)

1 Answer

Tommy Choe
Tommy Choe
38,156 Points

I was actually curious about the engines myself so I did a little bit of digging to find some answers.

Engines are responsible for doing the heavy lifting when it comes to manipulating the data. So there are different types of engines out there that are optimized for different tasks. For example, using myISAM instead of the default InnoDB engine results in faster, more memory efficient tables since it doesn't have to worry about backing up the tables as much. So using InnoDB would be a lot safer if you wanted to make sure that your data is not lost in any transaction.

As per your first question, I would say that MySQL ultimately decides the fate of each engine. It appears that the most recent engine that they added is the FEDERATED storage engine. You can look into it more here: https://dev.mysql.com/doc/refman/5.0/en/storage-engines.html To answer your second question, other storage engines may be available by third parties. You can look into it more here if you're interested: http://dev.mysql.com/doc/refman/5.7/en/storage-engines-other.html

Hope that helps!