.Net下SQLServer和SQLite查询100万条数据的效率怎么会SqlServer速度快点,而且还快这么多(看图),如何提高查询效率呢?

btpower_wu 2015-02-12 04:21:34
SQlite的查询时间:

SQLServer的查询时间:


SQL查询语句:
...全文
1259 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_36081196 2016-09-08
  • 打赏
  • 举报
回复
额,你的查询语句也是醉了,sql server 的却是会优化的,我记得有个sql语句可以将两个表联合,查找出某字段同时存在于两个表的记录,或者不重复的记录,可能sql server 将你的查询语句经过优化了吧,毕竟sqlite是轻量型的,不可能优化。
编程有钱人了 2015-02-13
  • 打赏
  • 举报
回复
大数据量,高并发的情况下,不建议用sqlite! 当然 在简单的Sql语句下(小数据)还是sqlite快
泡泡龙 2015-02-13
  • 打赏
  • 举报
回复
关闭事务,完事之后再打开事务,Sqlite就会快了
  • 打赏
  • 举报
回复
另外说一下你得sql语句,这种乱用子查询、笛卡儿积的sql语句真是“醉了”。 SQL Server数据库有着非常非常出色的 sql 优化技术。SQL Server 的优化技术非常强悍,它不但可以自己懂将笛卡儿积表达式(胡乱指数叠加)转为关联运算表达式(较为线性的叠加),还可以自动将许多我所想象不到的东西就行改写,甚至颠倒次序,变成一个更好的查询计划进行编译。 但是你怎么能对别的什么数据库都写出一个“未经训练过的数据库编程人员”写出来的、任性的 sql 语句呢?
  • 打赏
  • 举报
回复
如果你放了100万数据到 sqlite 里边,而且只是按照索引简单匹配(例如 where id='1234')并且正确地建立了索引,那么它理应比 SQL Server 会快。不但 Sqlite 会快,就算是 Access(Jet)甚至都会比 SQL Server 更快。嵌入式数据库本来就有这个特点,在数据库很小(比如说只有不到200万记录,只有不到1G数据文件)时做本地查询很快。因为数据库系统内部的最基本的数据记录的数据结构其实是差不多的。而嵌入式系统少了许多与查询无关的开销,例如少了网络上传送返回结果的巨大开销。 但是如果你需要编译这么复杂的sql表达式,并且你反复测试,那么那些可以自动优化sql表达式、可以自动重复使用编译结果、可以自动分配好几个G的缓存的数据库就肯定会体现出作用来了。而没有编译功能、没有优化功能、不能重用编译结果、不以大量占用内存进行缓存为主的嵌入式数据库肯定力不从心了。 使用嵌入式数据库,你应该自己写算法来进行各种优化过的查询,你应该写100条语句来进行这个查询,而不是写一条复杂的sql语句。 对于sqlite之类的数据库,也确实会“因为它比SQL Server更快”才使用的(这有大量测试作为证据),但这是有条件的。你只用 sqlite 最好的那一半功能,另外一半功能应该放弃。
  • 打赏
  • 举报
回复
sqllite……这么轻型的数据库,你居然要放100万数据……
tcmakebest 2015-02-12
  • 打赏
  • 举报
回复
SQLITE楼主搞清楚适用范围了吗,要求不要太高了,它是一个轻便的小型数据库.
SPFarmer 2015-02-12
  • 打赏
  • 举报
回复
sqlserver 比sqllite快很正常啊。 SQL Server是服务器型数据库,sqlite是文件型数据库,两者原理不同。但是SQL Server对大数据的处理肯定要比Sqlite好的多。
老张一笑 2015-02-12
  • 打赏
  • 举报
回复
难道大数据处理时,sqlserver 不应该比sqlite快吗? 这个求解. 同意一楼提出的,sqlserver 是否是本机.
於黾 2015-02-12
  • 打赏
  • 举报
回复
真复杂 数据库安装在哪里,是本机还是服务器 数据库里是否做了索引 这些都会影响效率

110,532

社区成员

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

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

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