java 有一个查询很慢,当很多人同时访问时,就会报错,怎么办

java 有一个查询很慢,当很多人同时访问时,就会报错,怎么办,第1张

查询很慢,如果不是本地数据,那么可能是网络问题。用jdbc写的话如果你数据量比较大(10000以上)而且查询语句有很多排序或条件之类的,那么就是sql的效率问题。用的hibernate的话,如果查询对象关联关系比较多,那就使用延迟加载,就在配置文件对应位置加 lazy="true"。至于多人访问报错,不是硬件问题的话,那就是你事务管理有问题,数据同步访问流程没处理好。

可以,共享读应该没有问题,不过建议你把Access数据库拆分,只把共享的数据库表放到局域网服务器,在你的本地电脑上做一个数据后台维护客户端以链接表方式链接数据库,这样需要维护更新的数据在客户端编辑好后就可以用 *** 作查询更新到链接数据库了。

mysql中,可用库名前缀同时查询两个数据库中的数据。

工具:mysql

56

步骤:

1、如图可见,在本地localhost中有2个数据库,分别是badkano和badkano_test。

2、假如两个数据库中有相同的表student,数据分别如下:

3、要同时查询两个数据库中的上边两张表,语句如下:

select from badkanostudent

union all

select from badkano_teststudent;4、查询结果就将2个库中的数据一起查出来了:

我现在还在用access2003,可以多用户,我为企业开发的一些软件就可以在局域网中共享,同时录入、查询、打印。但不是一般的“文件共享”,需要用到“拆分数据库"与“映射虚拟盘”的技术,

不知你能否看得懂。

1 首先把程序折分,分成一个前台程序,一个后台数据库。

利用ACCESS的数据库拆分向导可以很轻松的做到把数据库分为前台与后台两个部分,前台保留除表之外的所有对象,包括:查询、窗体、报表、宏或代码,并且自动链接了后台数据库的表;而后台只保留了表对象。

Ø 打开数据库-工具-数据库实用工具-折分数据库

Ø 在d出“数据库拆分器”后单击“拆分数据库”按钮,d现“创建后端数据库”对话框。

Ø 拆分后的前台保留原数据库名,而后台数据库名通常会在原数据库名后加_be,你可以指定后台保存在一个特定的文件夹内。

譬如说:我原来有一个数据库:C:\Nestling\Titmdb

拆分后,前台程序库仍为:C:\Nestling\Titmdb

后台数据库可以保存为:C:\Nestling\TitDatas\Tit_bemdb

2 共享后台数据库所在的文件夹。

Ø 打开资源管理器,选中文件夹,右键单击,选择“共享与安全”。

Ø 选中“在网络上共享这个文件夹”。

Ø 如果你想让局域网内其他机上的可以更新你的数据,就在“允许网络用户更改我的文件”上勾中。

以上是以Windows XP为例,其他系统会有所不同。

3 映射网络驱动器。

Ø 在“网络邻居”上右键单击,或在“资源管理器”中选择工具菜单,选择“映射网络驱动器”。

Ø 指定一个驱动器(盘符),譬如:M。这个M盘为随意的,你可以指定任意其他的盘符,但要在局域网内所有要同享你的数据库的机上映射统一的盘符至你的后台数据库所在的共享文件夹。

Ø 指定此盘符映射的文件夹,也就是你后台数据库所在的那个共享文件夹。可以单击浏览按钮选择,也可以直接输入。

Ø 选中“登录时重新连接”

有些人不明白为什么要映射驱动器,这主要是考虑以后程序库分发的方便,也就是说,如局域网内每台机都把你的后台数据库所在的共享文件夹映射为统一的驱动器后,你的程序库在你的机上设置好之后,就可以直接复制到每台机上,不用再做重新的链接,立刻就可以执行了。(复制程序库的过程,称之人前台程序库的分发。)此步骤下面会讲到。

4 重新链接前台程序库的表链接。

Ø 我选择的方法是,打开前台程序库,把里面的所有原有链接表删掉,大家不要担心删掉链接表会删掉数据,这里删掉的只是链接,并没有删除后台数据库的表里的数据。

Ø 重新链接表。可以选择菜单中的“获取外部数据”——“链接表”,也可以在表对象中空白的地方右键单击,选择“链接表”

Ø 在d出的“链接”对话框中选择你映射的驱动器里的后台数据库。(注意:这里不要直接选择你后台数据库文的那个文件夹中的后台数据库文件,一定要选择通过映射驱动器里的后台数据库,其实,所指向的是同一个数据库文件,便通道不同。)

Ø 选择完要链接的后台数据库后,d出“链接表”对话框,单击“全选”、“确定”,然后等待片刻,由ACCESS完成所有表的链接工作。

5 上面做完后你的机器上的工作就完成了,接下来就是在局域网中的每台机上都映射你的那个共享文件夹至同样的驱动器(盘符)如:M。

6 最后一步,分发前台程序库,所有设置局域网内数据库共享的工作完成。

以后,你的程序库功能升级后,直接分发程序库就行了。

补充:需要共享的文件夹—属性—权限—添加 everyone 并勾选“完全控制”

可以的,但是必须保证装有数据库的机器在网络范围内,最少要在一个局域网内。而且最好是linux或者Windows2003系统,因为xp系统最多支持10人访问

阿里云代理云服务器_云数据库_云安全优惠购买专属折扣

根据数据库相关内容为您推荐阿里云数据库

阿里云代理商提供云服务器ECS,云数据库RDS,DDoS高防IP,Web防火墙等优惠购买+专属福利!阿里云代理全栈云产品专属折上折优惠,加入阿里云代理商合作计划,享VIP技术服务群!

重庆典名科技广告

数据库漏洞扫描-昂楷科技-数据安全解决方案

根据文中提到的数据库为您推荐

昂楷科技提供基于身份认证,数据库漏洞扫描,行为审计的全方位的客户解决方案。可根据客户的实际情况,量身打造,方便灵活,昂楷科技完整构建中国的数据长城。

深圳昂楷科技有限公司广告

百度网友e1203f665

1 使用行级锁:当一个用户访问一行数据时,其他用户将被阻止访问该行数据,直到该用户释放锁。

2 使用分区:将表分成多个分区,每个分区的数据是独立的,用户只能访问自己分区的数据,从而避免冲突。

3 使用视图:将原表分解成多个视图,每个视图只能访问一部分数据,用户只能访问自己的视图,从而避免冲突。

4 使用存储过程:将多个用户的访问表的 *** 作封装成存储过程,用户只能调用存储过程,而不能直接访问表,从而避免冲突。

5 使用事务:将多个用户对表的 *** 作封装成一个事务,只有当所有 *** 作都成功完成时,才会提交事务,从而避免冲突。

以上就是关于java 有一个查询很慢,当很多人同时访问时,就会报错,怎么办全部的内容,包括:java 有一个查询很慢,当很多人同时访问时,就会报错,怎么办、ACCESS数据库文件可以在局域网共享多人使用吗、mysql中同时查询两个数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9806711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存