pgsql 使用 group_concat
- pgsql没有group_concat函数, 可以使用array_agg实现 返回类型是返回的类型是Array
使用demo
array_to_string(array_agg(t.cname),',')
- update join 组合使用
# pgsql
update t_user u
set birthday ='1998-05-22'
from t_order o
where u.member_id = o.member_id
and o.order_id = '123'
# mysql
UPDATE user_auth u
inner join log_info g on u.user_id = g.user_id
SET nickname = 'lhm'
WHERE g.id = '00619efdbdcf40c8b966519404f2a957';
- sql索引失效的情况
1. is not null , != 不走索引(具体看数据库)
2. like 左匹配 优化(用instr走函数索引)
3. 组合索引未遵循最左原则
4. or 条件的两边有未加索引字段
5. 条件左右两边的类型不匹配(如 int = varcahr)
6. 对数据库索引字段转换类型 如 to_char(date, ''), 可以转换值的类型
7. 索引列进行运算(如 where age + 1 = 18)