今天面试遇到了一个问题,如何判断一条数据库语句查询时候是否调用了索引。我答不上来……
回来请教了下数据库的大牛,他说用explain,然后我就去了解了下。
explain关键字放在查询语句的最前面,例如explain select * from t_cust where xx = xx and xx = xx;
然后数据库就会对这个语句的执行过程进行分析,我们就可以从结果里面分析出这条语句是否调用了索引。
这个是找到的有关资料:详解MySQL中EXPLAIN解释命令
【另外】面试官问到我,语句中多条件查询使用and和or会不会影响过索引。我说应该不影响,他不置可否我大概是答错了,所以回来查了下资料,现在还没有明确的回答,大牛也说不太清楚,先标记一下,如果解决了回来补上。