.net - mysql 查询越远越慢?

标签 .net mysql performance

这是我的查询。根据日志,查询结果大约需要一秒钟。许多循环之后(偏移量 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/

相关文章:

java - 使用 sqlite 在 android studio 中运行代码

php - 根据codeigniter中的某些字段更新mysql数据库

mysql - 选择分配给用户的有限权限的所有用户的进程列表

python - 如何在不显着影响系统性能的情况下观察文件系统更改?

.net - .NET 中 XSLT 2.0 可用性的当前状态是什么

C# 编码(marshal)处理 - 获取 C char** 的内容并转换为 byte[]

c# - 使用进程间同步对象同步 2 个进程 - Mutex 或 AutoResetEvent

c# - 如何将 null 传递给 asp :Parameter

performance - DynamoDB本地糟糕的性能

html - 将社交媒体 "like"和 "+1"按钮添加到您的站点的最有效方法是什么?