mysql --- using filesort

在用函數 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章