Ben*_*Ben 3 mysql sql query-optimization
SELECT T1.name AS hotel,
T2.name AS city
FROM (SELECT *
FROM hotel
WHERE name LIKE '$term1%') T1,
(SELECT *
FROM city
WHERE name LIKE '$term2%') T2
WHERE T1.city_id = T2.id
Run Code Online (Sandbox Code Playgroud)
T1有150000,T2有15000.(静态表!)我有这个表'name'的索引.
有一种方法来优化这个mysql查询?我也想做 - > LIKE'%term1%',但非常慢.
第一步是使用ANSI-92 JOIN语法重写查询:
SELECT h.name AS hotel,
c.name AS city
FROM HOTEL h
JOIN CITY c ON c.id = h.city_id
WHERE h.name LIKE '$term1%'
AND c.name LIKE '$term2%'
Run Code Online (Sandbox Code Playgroud)
之后,看看索引:
......各种组合.