大数据量下进行分页查询,增加where条件导致查询速度特别慢 返回
SqlSugar
老数据
3
2968
悬赏:5 飞吻
在大数据量下做分页查询:
使用_db.Ado.SqlQueryAsync<Table>(sql), 直接执行sql语句用时1.8794396秒
使用_db.Queryable<Table>().Where(d => d.Name.Contains("xxxx")).OrderBy(d => d.CreateTime).ToPageListAsync(1,15),耗时1分17.5994763秒
在不加where条件的情况下,两种方式查询速度相近;如果使用where条件会导致查询速度特别慢。
数据库表已经增加相应的索引。
热忱回答(3)
-
fate stay night VIP0
2019/8/23Contains改成startwith
0 回复 -
微笑如昨 VIP0
2019/8/23@fate stay night:改成StartWith后,减少了一点时间,但是时间差还是很大;


该表中大约有500w+条数据。k1是直接执行sql语句进行分页查询所用的时间,k2是通过表达式组合而成查询所用的时间。
0 回复 -
fate stay night VIP0
2019/8/24看下sql区别吧orm生成sql
0 回复