花公子丶 2016-03-06 11:00 采纳率: 50%
浏览 1427
已结题

麻烦帮忙看下这个SQL查询该怎么改进

有三张表,分别是EquipmentMessage,Sensor,SensorInputData,Sensor以
EquipmentMessage的主键equipmentId做外键,SensorInputData则以Sensor的主键sensorId做外键。SensorInputData是大表,可能有千万条数据,另外两个都是小表,最多不会超过200条数据。我的这个查询第二句是一个“*”号,此时查询速度很快,大概170ms,如果我只想要其中个别字段,查询速度极慢,需要8s。现在我就想要其中个别字段,该怎么改进

 select 
*   --这里用“*”查询很快,但是如果改成equipment.equipmentName就很慢了
from 
(
    select
    sensorData.valueType+':'+(Convert(varchar(20),round(sensorData.value,2)))+sensor.sensorUnit as 数据,
    Convert(varchar(20),sensorData.date,120) as 日期,
    sensor.equipmentId as ref_equipmentId
    from Sensor as sensor
    join SensorInputData as sensorData on sensor.sensorId=sensorData.sensorId 
    and not exists 
    (
        select 1 from SensorInputData as t where t.sensorId=sensorData.sensorId and t.date>sensorData.date
    )
) sensorData join EquipmentMessage as equipment
on equipment.equipmentId=sensorData.ref_equipmentId

  • 写回答

1条回答

  • devmiao 2016-03-06 14:49
    关注
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能