mysql using where; using filesort,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值