In spite of various benefits of using views there are following limitations on using MySQL views −
- Can’t create an index of views − In MySQL, we cannot create an index on views. It is because indexes are not utilized when we query data against the views.
- MySQL invalidates the view − Suppose, if we drop or rename tables to which a view references, rather than issuing an error MySQL invalidate the view. We can use the CHECK TABLE statement to check whether the view is valid or not.
- MySQL views cannot be updateable in some situations − Actually, the simple view can be updateable but a view created on a complex SELECT statement with JOIN or SUBQUERY etc. cannot be updateable.
- MySQL does not support materialized views − We cannot create materialized views because MySQL does not support it.
- Using subquery in the FROM clause of view depends on MySQL version − Actually, we can use a subquery in the FROM clause of view if MySQL version is less than 5.7.7.
- Cannot create a TEMPORARY view − Actually, the definition cannot refer to a TEMPORARY table hence we cannot create a TEMPORARY view.
- Cannot associate a trigger with a view − we cannot associate a trigger with a view.