It means you have done a query that does nothing more than count the number of rows in a table, and that table is a MyISAM table. MyISAM tables are stored with a separate row count, so to do this query MySQL doesn’t need to look at any of the table row data at all. It lists the tables in the output in the order that MySQL would read them while processing the statement. Select tables optimized away. MySQL can optimize aggregate functions like MIN and MAX as long as the columns specified are indexed. Extra: Select tables optimized away.
Gabriel, I think it means that this count can be done from an index, so there’s no need to access the actual table at all. Andy – Show quoted text -. MIN/MAX Optimization (Select tables optimized away) does not work for DateTime. This is similar to bug 3855:. Wrong indexing or query which MySQL can’t optimize well is likely reason. NULL NULL NULL NULL NULL NULL Select tables optimized away.
In MySQL 5.6, the subquery is actually optimized away. Note that MySQL 5.6 also does not have to add a third table as MariaDB does:. When you precede a SELECT statement (or, since MariaDB 10.0.5, an UPDATE or a DELETE as well) with the keyword EXPLAIN, MariaDB displays information from the optimizer about the query execution plan. Select tables optimized away, All tables in the join was optimized away. Select tables optimized away from Explain in MySQL – It means an index was used to complete the select query and it was.
Re: Explain: Select Tables Optimized Away
The explain command on this query shows: ‘1’, ‘SIMPLE’, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ‘Select tables optimized away’. A derived table that is embedded in the query is sometimes called an unnamed derived table. Try to create an Aria or MyISAM table, INSERT some data, and execute an EXPLAIN similar to the following:.