在用函數 group_concat(`data`)進行轉置時,發現轉置後的數據順序像二叉樹排序。
後來用EXPLAIN 轉置SQL 發現Extra:"Using where; Using filesort"
查看資料,索引的定義不正確導致,後來增加索引(series_no,af_id)
alter table cmv_af_data add index index_1(series_no,af_id);
表結構如下:
CREATE TABLE `cmv_af_data` (
`af_id` int(10) unsigned NOT NULL,
`series_no` mediumint(8) unsigned NOT NULL DEFAULT '0',
`data` float NOT NULL DEFAULT '0',
KEY `af_id` (`af_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
轉置SQL:
select af_id,series_no,group_concat(cast(data as char))
from cmv_af_data
where af_id='1997129'
group by af_id,series_no
資料:http://blog.csdn.net/yangyu112654374/article/details/4251624