mysql杂记

if(exists(内查询),true,false),可用于判断是否有下级(如懒加载需要知道该节点是否有children)

department表结构:
在这里插入图片描述
例子:

SELECT d.id,if(exists(select 1 from department dd where dd.pid = d.id and delete_flag = 0), true, false) as isParent 
from department d;

GROUP_CONCAT ORDER BY

可以通过以下方式ORDER BY在GROUP_CONCAT函数内部使用:

SELECT li.client_id, group_concat(li.percentage ORDER BY li.views ASC) AS views, 
group_concat(li.percentage ORDER BY li.percentage ASC) 
FROM li GROUP BY client_id

SQL不走索引的情况

当条件字段选择性弱,查出的结果集较大,不走索引;
因为mysql优化器会判断走索引快还是全表扫描快,当结果集占比多到一定比例的时候,mysql会不走索引,因为索引是随机读,硬盘顺序读的性能比随机读要快.

科普:
数据库的性能问题

A. 磁盘IO性能非常低,严重的影响数据库系统的性能。
B. 磁盘顺序读写比随机读写的性能高很多。

你可能感兴趣的:(mysql,mysql,数据库,sql)