数据库中cr表大概有将近两百万条数据,VB.NET如何优化sql查询速度
以下vb.net的sql语句能查询到库中的数据,但是速度是相当的慢,请问大侠如何优化SQL查询语句,提高查询速度,
目前数据库中container表大概有将近两百万条数据。
。。。。。。。连接数据库
Dim TRS As SqlCommand
Dim Tstr As String
Tstr = "select count(case size when 20 then 1 end) from container,vslvoy "
Tstr = Tstr & "where CONTAINER.vslvoy_id in ( select vslvoy_id from vslvoy where( sailingdate between ‘开始时间(略)' and ‘结束时间(略)'
Tstr = Tstr & "and (load='abc'or disch='abc') and container.vslvoy_id=vslvoy.vslvoy_id and lo_id='Y' and TN_ID='N'"
TRS = New SqlCommand(Tstr, conn)
TRS.CommandTimeout = 0
conn.Open()
TLabel.Text = IIf(IsDBNull(TRS.ExecuteScalar.ToString), "",TRS.ExecuteScalar.ToString)
conn.Close()
每一年的分笔库大概40G,每年每只股票大概90万条记录,现在删除了5分钟库,只保留有日线库,以前的5分钟库超过400亿条记录,因为历史数据不需要修改,单查询每只股票的5分钟数据,单查一天的数据48条记录或进小于1个月的数据1000条左右记录,除了第1次查询要打开索引耗费5~10秒外,再查几乎没延迟。聚合索引(股票代码+日期)