MySql选择查询优化
我最近在一次办公室讨论中遇到一个问题MySql选择查询优化,mysql,select,query-optimization,Mysql,Select,Query Optimization,我最近在一次办公室讨论中遇到一个问题 SELECT t1.id, t1.name, t1.date AS date_filter, (SELECT t2.column_x FROM table_2 t2 WHERE t2.date = date_filter LIMIT 1 ) AS column_x FROM table_1 t1 WHERE t1.category_id = 10 ORDER BY t1.date
SELECT t1.id, t1.name, t1.date AS date_filter,
(SELECT t2.column_x
FROM table_2 t2
WHERE t2.date = date_filter LIMIT 1
) AS column_x
FROM table_1 t1
WHERE t1.category_id = 10
ORDER BY t1.date
LIMIT 10;
子查询从第二个表返回与第一个表的日期匹配的列值。
这个查询没有以优化的速度运行,你们能告诉我什么是即兴表演的方法吗
干杯让两个表都显示CREATE TABLE,再加上EXPLAIN SELECT
所需索引:
t1: INDEX(category_id, date)
t2: INDEX(date)
如果没有ORDER BY,子查询就没有意义-您想要哪一行