以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]web数据源速度好像有点慢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121622)

--  作者:浙江仔
--  发布时间:2018/7/10 16:34:00
--  [讨论]web数据源速度好像有点慢
相比直连数据库,速度好像有点慢
--  作者:ycli368
--  发布时间:2018/7/10 16:37:00
--  
是的,要慢些
--  作者:浙江仔
--  发布时间:2018/7/11 17:00:00
--  
同样的代码,直连数据库耗时0.17s左右,但是用web数据源,需要0.9s
这样感觉就有点影响体验了

--  作者:有点甜
--  发布时间:2018/7/11 17:37:00
--  
三层的速度,比二层肯定要慢一些的。当然,还是有优化空间的。
--  作者:ycli368
--  发布时间:2018/7/12 12:24:00
--  
确实需要优化,同样项目,切了web后,整体确实慢了
--  作者:cbt
--  发布时间:2018/7/12 13:09:00
--  
好像加密之后就慢了
--  作者:有点甜
--  发布时间:2018/7/12 14:42:00
--  

 

web数据源,是为了解决直连数据库带来的安全性的问题。改成web数据源以后,不能达到直连数据库的所达到的速度的。

 

还有一个并发的问题,如果你多人同时访问数据源的时候,你如果添加了额外的判断权限的代码,你应该改成多线程(异步)的方式处理请求。


--  作者:lihe60
--  发布时间:2018/7/12 14:46:00
--  
使用web数据源和直接连接数据库,在数据安全方面有什么区别?
--  作者:浙江仔
--  发布时间:2018/7/12 14:58:00
--  
那这样的,还要异步执行么?
Select Case e.Path
    Case "DataServer\\PXBM"
        e.AsDataServer("pxbm")
    Case "DataServer\\GxqInfo"
        e.AsDataServer("GXQ")
    Case "DataServer\\WorkToDo"
        e.AsDataServer("WorkToDo")
    Case "DataServer\\ESO"
        e.AsDataServer("ESO")
    Case "DataServer\\XUQIU"
        e.AsDataServer("ESOXQ")
End Select

--  作者:有点甜
--  发布时间:2018/7/12 14:59:00
--  
以下是引用lihe60在2018/7/12 14:46:00的发言:
使用web数据源和直接连接数据库,在数据安全方面有什么区别?

 

直接连接数据库,你无法编写代码控制权限。如果要写权限控制,也只能写在客户端那里,容易被别人看到代码绕过权限直接访问到数据库数据。

 

而web数据源,你可以在服务器那里处理权限,比如你想不允许张三访问,直接在服务器那里写代码处理即可,别人看不到你的处理代码。