sqlserver 2005及以上版本 表(tb) id value 1 aa 2 cc 3 bb 3 dd 4 aa 4 cc 4 dd 5 aa 优化前: select id, value = (select value+',' from tb as rtb where rtb.id = a.tb.id for xml path('')) from tb as a group by a.id 优化后:(思路:将count(…
参考: 1.SQL查询语句 group by后, 字符串合并 2.sql for xml path用法 #需求: 合并列值 表结构,数据如下: id value ----- ------ aa bb aaa bbb ccc 需要得到结果: id values ----- ------------ aa,bb aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) #解决方法: 1.传统方法:创建处理函数(sql server 2000只能用该方法) )) , '…
一次 group by + order by 性能优化分析 最近通过一个日志表做排行的时候发现特别卡,最后问题得到了解决,梳理一些索引和MySQL执行过程的经验,但是最后还是有5个谜题没解开,希望大家帮忙解答下. 主要包含如下知识点 用数据说话证明慢日志的扫描行数到底是如何统计出来的 从 group by 执行原理找出优化方案 排序的实现细节 gdb 源码调试 背景 需要分别统计本月.本周被访问的文章的 TOP10.日志表如下 CREATE TABLE `article_rank` ( `id`…
合并列值 --******************************************************************************************* 表结构,数据如下: id value ----- ------ aa bb aaa bbb ccc 需要得到结果: id values ------ ----------- aa,bb aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) . 旧的解决方法(在sql…