//计算完整列的选择性
SELECT COUNT(DISTINCT city)/COUNT(*) FROM city_demo
//尝试3/4/5/6/7这四个前缀长度,计算其选择性
SELECT COUNT(DISTINCT LEFT(city, 3))/COUNT(*) AS sel3,
COUNT(DISTINCT LEFT(city, 4))/COUNT(*) AS sel4,
COUNT(DISTINCT LEFT(city, 5))/COUNT(*) AS sel5,
COUNT(DISTINCT LEFT(city, 6))/COUNT(*) AS sel6,
COUNT(DISTINCT LEFT(city, 7))/COUNT(*) AS sel7,
FROM city_demo
# 如果actor_id和film_id都建立了单列索引
SELECT film_id, actor_id FROM film_actor WHERE actor_id = 1 OR film_id = 1;
# 则实际会转换为以下语句来查询
SELECT film_id,actor_id FROM film_actor WHERE actor_id = 1
UNION ALL
SELECT film_id,actor_id FROM film_actor WHERE film_id = 1 AND actor_id <> 1