出现这种问题有可能是两种情况1.查询结果包含海量数据。长时间检索无响应。这种情况,需要优化SQL,尽量减少数据输出量。2.表结构损坏。可以通过 CHECK TABLE REPAIR TABLE 语句进行检测或修复。一下是mysql语句 asp.net
单击一个用户查询前30天的下载流量总和
字段
date    username    action            client
时间    用户        是否有权限下载    下载类型
 string sql = @"SELECT round(sum(size/1000/1024),2)daysTrafficSum,DATE_FORMAT(date, '%Y-%m-%d') days from owa_isa     ";
            sql += " where username=@userName and client=@type and action='A'and date between @startDate and @endDate GROUP BY days ";
            DbStatement stmt = dbc.DbSessionOwa.GetStatement(sql);数据库索引
index 'date' 'username'
index2 'action'
index3 'client'
有什么方法优化下 请大侠 对数据库优化不怎么了解 我sql语句有什么问题吗?

解决方案 »

  1.   

    简写
    SELECT round(sum(size/1000/1024),2)daysTrafficSum,DATE_FORMAT(date, '%Y-%m-%d') days from owa_isa
    where username='liangcheng'
    and client='w' and action='A'
    and date between '2012-01-01' 
    and '2012-10-10' 
    GROUP BY days
      

  2.   

    我觉的username加一个索引就行了
      

  3.   

    create index xxx on owa_isa(username,client,action,date)
      

  4.   

    因为查的记录有几十万条 如果能把需要的数据查出来放到另外一个表中 然后查另外一个表应该快点 不然每次都很慢 结束后再 drop talbe 把表数据清空  那怎么把查出来的记录放到另外一个表中呢 我百度看看 那我知道的告诉一声啊 谢谢
      

  5.   

    insert into tableone select tableid,tablename,tablesum,tabledate from  tabletwo
    报错
    [Err] 1054 - Unknown column 'tabledate' in 'field list'
    网上说tabledate没有对应的字段 
    tableone tabletwo两个表的字段和类型都一模一样的啊