The three terms have the following meanings:
- UNDEFINED: MySQL will choose the algorithm to use. It tends to MERGE instead of TEMPTABLE, because MERGE is usually more efficient, and if TEMPTABLE is used, the view is not updatable.
- MERGE: combines the text of a statement that references the view with the view definition so that a part of the view definition replaces the corresponding part of the statement.
- TEMPTABLE: The results of the view will be placed in a temporary table and then used to execute the statement.