mysql物化表(临时表)时,如果是多列的表子查询,依据哪些数据来创建哈希索引?
SELECT * FROM t1 WHERE (m1, n1) IN (SELECT m2, n2 FROM t2);
类似这样多列比较的表子查询,每行的哈希索引依据哪个值来创建?
个人推测,既然是仅用于这条语句的辅助用表,那就依照特定需要针对性的创建索引,也即m2和n2两列联合起来计算哈希值。而不是m2、n2分别各自,或者整行数据一起计算。
因为是学习中产生的疑问,但书上没有说得这么细,网上搜搜也没人提到这个,所以发个问题确认一下是不是与我推测的情形一致,如果推测不对也请告知,谢谢大家。