当前位置: 代码迷 >> Sql Server >> sql求优化解决方案
  详细解决方案

sql求优化解决方案

热度:15   发布时间:2016-04-24 23:42:46.0
sql求优化

select Min(datacode) 
from(
select datacode from data where type='0'
)a 
where 
LEN(datacode)=(select max(len(datacode))from (
select datacode from data where type='0'
)a)

以上这句需求是从目标表获取列datacoe中值的长度最大的值中的最小值
例如从1 2 32 9 71 123 567 234获取123
我这样写执行效率很低,要进行2次聚集索引扫描。
请优化一下
优化 sql

------解决方案--------------------
select top 1 len(datacode) ld,min(len(datacode)) from data group by len(datacode)
order by ld desc
主要是一般加了函数进行计算时都用不到索引,好像也没什么好优化的了
  相关解决方案