Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]数据库为SQL 查询没有access速度快

陈勇  发表于:2015-03-24 10:24:33  
复制

数据库为SQL 查询没有access速度快

 

Top
易勋 发表于:2015-03-24 10:25:54

是否使用左联接,右连接?

查询是否很复杂?

解决方法:将该查询在sql数据库中创建成视图



麥田 发表于:2015-03-24 11:11:50

SQL加速|升迁至SQLServer数据库后,如果存在左联接或者右联接的查询会很慢的解决方法[Access软件网]
http://www.accessoft.com/article-show.asp?id=9314
 



benhum 发表于:2015-03-30 08:14:16
SQL表中没有设置主键。

何保辛 发表于:2015-04-01 17:25:10

尤其是小型数据库应用,Jet 数据库引擎,一直都是比 MSSQL 数据引擎快的! 正常!


原理:

1. Jet数据库引擎是直接C++代码读取 mdb/accdb 文件的索引分页位址的,不需要经过 SQL语义翻译,也不需要经过 tcpip 负荷(localhost 都是经过 tcpip连接的)再调用函数来组织数据结果;

2. Jet数据库引擎不存在复杂的 权限控制,只有用户读、写权限;尽管MSSQL会把登入读进内存缓存,但是都会有多逻辑的匹配;

3. Jet数据库引擎是没有触发器;尽管在 MSSQL上你没设置,都需要检查是否有触发器;

4. 最重要一点,Jet数据库引擎设计就是用来做小型的数据库,这意味着会把大量的数据读进内存里作条件匹配,尤其是关联表,不管 full join, left join, right join, all join;

   MSSQL 要运作过程中需要能处理 百万到万亿条数据,而且同时服务几十到几万个网络连接,一定不能在内存处理数据的,一般只要一个连接处理量耗用到剩余内存(减去预留内存)超过内存的70%,就开始用硬盘临时索引表来组织数据结果。

硬盘 与 内存 处理就是有速度的区别了!



麥田 发表于:2015-04-03 09:22:30

储存过程试试



总记录:5篇  页次:1/1 9 1 :