MySQL面试之服务器配置类问题
整理了一下面试中对于 MySQL 部分,面试官会涉及的一些服务器配置类问题
1. 常见问题归纳
- 请分析一个 Group by 语句的异常原因
- 如何比较系统运行配置和配置文件中的配置是否一致
- 举几个 MySQL中的关键性能参数
2. 分析一个Group by语句的异常原因
现有一张 product 产品表,表中内容如下
执行如下 SQL 语句,分析结果的异常
SELECT warehouse_id,SUM(COUNT) AS cnt
FROM product
GROUP BY product_id;
得到结果如下:
异常结果原因:违背了 ONLY_FULL_GROUP_BY 的 SQL_Mode原则
对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中
所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()这种聚合函数,才能完成GROUP BY 的聚合操作。
需改写 SQL