求救sqlite 通过C#调用执行速度很慢的问题。

adrianEvin 2015-06-02 11:46:53
一张主表:7000来条数据
关联二个子表:各有 6000条左右。
1. 我直接用sqlite管理器执行0.5s就执行完成了结构。
编号 主表数量 A子表 B子表
01 7000 5800 6000
这样才用0.5
2 我通过System.Data.SQLite这个DLL C#调用查询。
在 command.Fill(ds, "ds"); 这个执行非常的慢。
起码要10 20s去了。
一条sql语句如下啊,二者时间为何差距这么大呢
select 1 XH,, count(t.ID) 主表,
sum((select count(t1.ID) from A子表 t1 where t1.FKID = t.ID)) A子表数量,
sum((select count(t2.ID) from B子表 t2 where t2.FKID = t.D)) B子表数量
from 主表 t
...全文
713 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
adrianEvin 2015-06-04
  • 打赏
  • 举报
回复
引用 4 楼 liucqa 的回复:
sqlite 慢都是因为事务处理不当,百度一下
查询而已啊,这sqlite会用到事务啊
adrianEvin 2015-06-04
  • 打赏
  • 举报
回复
引用 3 楼 tower6 的回复:
会不会还是跟 Sqlite 的 事务有关系, 不妨试试fill前显式声明一个事务?
查询也有事务吗
adrianEvin 2015-06-02
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
在 command.Fill(ds, "ds"); 这个执行非常的慢 你是怎么测试它慢的 你确定是查询慢,而不是绑定到控件的过程慢?
我打了断点了啊,在fill的时候等了很长时间了。我就一条记录,绑定非常快的。
於黾 2015-06-02
  • 打赏
  • 举报
回复
在 command.Fill(ds, "ds"); 这个执行非常的慢 你是怎么测试它慢的 你确定是查询慢,而不是绑定到控件的过程慢?
泡泡龙 2015-06-02
  • 打赏
  • 举报
回复
sqlite 慢都是因为事务处理不当,百度一下
tower6 2015-06-02
  • 打赏
  • 举报
回复
会不会还是跟 Sqlite 的 事务有关系, 不妨试试fill前显式声明一个事务?

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧