这是我的查询。根据日志,查询结果大约需要一秒钟。许多循环之后(偏移量 17100)需要 15 秒以上。为什么?在创建表中将 id 定义为
`id` INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
这是我的代码/查询
Console.WriteLine("1 {0} {1}", DateTime.Now, offset);
var res = conn.Query<PageInfo2>("select * from tbl order by id limit @o, 300", new { o = offset });
Console.WriteLine("2 {0} {1}", DateTime.Now, offset);
offset += res.Count();
foreach (var v in res)
最佳答案
当您没有 WHERE 条件时,引擎很可能会进行全表扫描,这解释了偏移量越大延迟越长的原因。
当您没有 where 条件时,基本上您正在阅读表格,就像阅读高度分散的文本文件一样。
关于.net - mysql 查询越远越慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798019/