select name, sum(kbytes) as totalbyte from tablename where substr(begintime, 9, 6) >= '180000' and substr(endtime, 9, 6) <= '200000' group by name;tablename表每条记录大约50多个字段,有2万个用户,每个用户有100条记录。
begintime和endtime是yyyymmddHHMMSS格式。取时分秒作为比较区间。这两个没有索引。
如何提高查询效率。
begintime和endtime是yyyymmddHHMMSS格式。取时分秒作为比较区间。这两个没有索引。
如何提高查询效率。
根据你的条件
substr(begintime, 9, 6) >= '180000' and substr(endtime, 9, 6) <= '200000'
做400W次substr操作和400W次判断操作,
效率明显低下
不建议在判断语句中对表数据进行额外操作