当前位置:首页 » 数据仓库 » 数据库打开文件太慢
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库打开文件太慢

发布时间: 2022-04-04 00:33:47

⑴ 请问电脑装上数据库后,运行速度很慢是什么原因

第一,检查sql数据库的日志文件是否过大
第二,检查SQL表中的记录是否过多
第三,整理一下服务器硬盘的碎片
第四,检查ASP程序代码,如果没有上述问题,一般问题出在ASP代码写的不够好
第五,可以将数据库,ASP程序移到差不多的另一台服务器上测试一下

⑵ 为什么我的MSSQl 数据库 打开很慢呢

多写一丰存取过程,代码调用这些存取过程速度会变得很快了。我以前刚了解数据时候也是像你这样的情况。

⑶ mysql数据库突然变慢 数据库变慢是什么原因

MySQL 在崩溃恢复时,会遍历打开所有 ibd 文件的 header page 验证数据字典的准确性,如果 MySQL 中包含了大量表,这个校验过程就会比较耗时。 MySQL 下崩溃恢复确实和表数量有关,表总数越大,崩溃恢复时间越长。另外磁盘 IOPS 也会影响崩溃恢复时间,像这里开发库的 HDD IOPS 较低,因此面对大量的表空间,校验速度就非常缓慢。另外一个发现,MySQL 8 下正常启用时居然也会进行表空间校验,而故障恢复时则会额外再进行一次表空间校验,等于校验了 2 遍。不过 MySQL 8.0 里多了一个特性,即表数量超过 5W 时,会启用多线程扫描,加快表空间校验过程。
如何跳过校验MySQL 5.7 下有方法可以跳过崩溃恢复时的表空间校验过程嘛?查阅了资料,方法主要有两种:
1. 配置 innodb_force_recovery可以使 srv_force_recovery != 0 ,那么 validate = false,即可以跳过表空间校验。实际测试的时候设置 innodb_force_recovery =1,也就是强制恢复跳过坏页,就可以跳过校验,然后重启就是正常启动了。通过这种临时方式可以避免崩溃恢复后非常耗时的表空间校验过程,快速启动 MySQL,个人目前暂时未发现有什么隐患。2. 使用共享表空间替代独立表空间这样就不需要打开 N 个 ibd 文件了,只需要打开一个 ibdata 文件即可,大大节省了校验时间。自从听了姜老师讲过使用共享表空间替代独立表空间解决 drop 大表时性能抖动的原理后,感觉共享表空间在很多业务环境下,反而更有优势。
临时冒出另外一种解决想法,即用 GDB 调试崩溃恢复,通过临时修改 validate 变量值让 MySQL 跳过表空间验证过程,然后让 MySQL 正常关闭,重新启动就可以正常启动了。但是实际测试发现,如果以 debug 模式运行,确实可以临时修改 validate 变量,跳过表空间验证过程,但是 debug 模式下代码运行效率大打折扣,反而耗时更长。而以非 debug 模式运行,则无法修改 validate 变量,想法破灭。

⑷ access 数据库速度 慢的 问题

问题在于Access 本身
SQL, Sybase, Oracle等大型数据库管理系统, 不仅在管理大容量数据库时性能好,速度快. 更重要的是在并发处理有优势.而并发处理对于数据库管理系统是最重要的, 你想新浪, 网络等这些网站, 同一时刻有多少人在访问啊, 数据库要同时快速响应多个用户的数据处理请求显得尤为重要.
你单位的局域网至少应该是百M的吧 , 所以网速应该不是问题; 就服务器本身的配置而言, 性能也应该满足了; 在一个客户端的情况下, 能够快速的访问, 表明跟客户端配置也没有关系; 所以可以认为, 是由于Access本身对于并发处理的性能低下, 才导致以上问题. 建议你可以装个SQL Server2005, 用它可以把Access的数据库转换为Sql server数据库, 当然你程序中和数据库相关的连接, 访问语句也要改一下.
PS: 你文中所讲的"生产管理系统", 可能将来也不止在两个客户端上访问, 当将来客户端越来越多的时候, 这个问题会更加明显. 所以建议你及早升级到 SQL Server, 毕竟Access只是个桌面型的数据库, 并不适合应用在这种场合下. 另外, 个人认为建虚拟盘并不会有太大的性能改善.

⑸ Access数据库运行的很慢,怎么能加快

一般来说,access数据库,如果存的数据量不大的情况下,
同时针对数据库操作的用户不多的情况下,速度并不比sql慢!
造成慢的情况!
1:你的程序问题,可以看一下,应该当优化一下,如打开的记录集,或者是数据库连接,操作后,及时关闭!
2:针对数据库进行压缩一下.操作是工具->压缩和修复数据库!

⑹ 访问数据库操作很慢,如何优化

这需要根据导致运行速度不高的原因来考虑。
如果是因为数据库的关系,可以将不经常变化的却经常需要用到的数据在第一次读出来的时候保存到内存中,以后就不用再去读取了。
除此以外就是数据库连接的优化了,比如做好索引、分页读取等。

⑺ 怎么解决ACCESS数据库太大造成运行慢的问题

1.时候在使用Access文件的时候,随着增删改的不断的连续,会导致文件越来越大。即使手动删除或者使用delete语句删除了大量的数据记录,会发现文件的大小依然没有减掉,而且随着你再往里写数据,又会增大。
2.产生这个现象的原因跟Access本身的机制有关,具体也不清楚,好像是有什么历史记录还是什么存储碎片。ACCESS数据库在进行删除操作后,并不从该数据库中把数据清除掉,而是删除其索引相关的东西,虽然显示不出来,但是那些东西还是在文件中存在的,所以会引起ACCESS数据库文件越来越大。即使是我们不通过代码来访问access文件,而只是通过用户界面访问,随着文件的增大,也会带来一系列的问题。其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。更何况如果在网站应用中,采用的是Access作为数据库的话,这里就有了性能上的问题。文件越来越大,会影响查询的速度,而且ACCESS是采用独占方式工作的,也就是说一次只能一个进程打开这个数据库执行操作,如果是多个用户的话就要"排队"了,所以ACCESS数据库如果变为很大的话,执行一个查询时间就会变长,而进程"排队"的等待时间也就会变得很久,专业型的数据库就不同,可以同时接收多个并发的访问,可以采用SQL数据库或其它大型并发数很强的数据库。

3.但是很多时候我们是需要Access文件,往不同的地方拷贝的,比如说,一个Server上生成了一个Access文件,需要拷贝到另外的Server上,而且Server间如果网速不是很好的话,会需要很长的时间来传输这个文件。所以这时候我们希望这个文件在内容不变的前提下,越小越好。所以我们可以去除这个Access的冗余信息。

4.Office Access本身就有这种功能,我们可以通过菜单找到这个工具,然后单击这个图标手动压缩。

5.执行以下这几句代码就可以了。
首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间;
接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间
注意:如,导入dll不成功,手动把com组件 导入为 .net组件,在用vs.net工具导入

///压缩修复ACCESS数据库,mdbPath为数据库绝对路径
public void Compact(string mdbPath)
{
if (!File.Exists(mdbPath)) //检查数据库是否已存在
{
throw new Exception("目标数据库不存在,无法压缩");
}
//声明临时数据库的名称
string temp = DateTime.Now.Year.ToString();
temp += DateTime.Now.Month.ToString();
temp += DateTime.Now.Day.ToString();
temp += DateTime.Now.Hour.ToString();
temp += DateTime.Now.Minute.ToString();
temp += DateTime.Now.Second.ToString() + ".bak";
temp = mdbPath.Substring(0, mdbPath.LastIndexOf("\") + 1) + temp;
//定义临时数据库的连接字符串
string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
//定义目标数据库的连接字符串
string mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=l1epc2";
//创建一个JetEngineClass对象的实例
JetEngineClass jt = new JetEngineClass();
//使用JetEngineClass对象的CompactDatabase方法压缩修复数据库
jt.CompactDatabase(mdbPath2, temp2);
//拷贝临时数据库到目标数据库(覆盖)
File.Copy(temp, mdbPath, true);
//最后删除临时数据库
File.Delete(temp);
}

⑻ Win10Win8访问数据库超级慢

1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态

关闭方法:Win+C – 设置 – 更改电脑设置 – 家庭组 – 离开

如果用不到家庭组可以直接把家庭组服务也给关闭了:控制面板 – 管理工具 – 服务 – HomeGroup Listener 和 HomeGroup Provider 禁用
10个Win8优化技巧解决win8速度慢

2.关闭Windows Defender 全盘扫描系统,否则打开文件夹会卡顿。

然后可以排除信任的EXE程序,建议排除explorer.exe(资源管理器进程),如果你不用系统自带的杀毒软件,也可以直接关闭它。

Win+X – 控制面板 – Windows Defender – 设置 – 实施保护 -去掉勾 和 管理员 – 启用 Windows Defender – 去掉勾。

控制面板 – 管理工具 – 服务 - Windows Defender Service 禁用。
10个Win8优化技巧解决win8速度慢

3.用好索引选项,减少硬盘压力。

控制面板 – 索引选项 – 选中索引项 – 修改 – 取消不想索引的位置。(索引服务对系统性能的影响)

如果习惯用 everything 这款神器来搜索文件,可以关闭索引功能。控制面板 – 管理工具 – 服务 - Windows Search 禁用。

4.关闭磁盘碎片整理计划

用好磁盘碎片整理可以提高磁盘性能,如果习惯手动整理,可以关闭整理计划,避免在你工作的时候自动整理,影响性能。

资源管理器,选中磁盘 - 属性 – 工具 – 对驱动器进行优化和碎片整理 – 优化 – 更改设置 – 取消选择按计划运行
10个Win8优化技巧解决win8速度慢

5.设置好Superfetch服务

控制面板 – 管理工具 – 服务 – Superfetch - 启动类型 – 自动(延迟启动),可以避免刚启动好Win8对硬盘的频繁访问。
10个Win8优化技巧解决win8速度慢

6.如果覆盖或者升级安装Win8,需要清理产生的Windows.old文件夹,腾出C盘空间。

方法1:快捷键Win+X - 命令提示符 – 输入 rd X:windows.old /s (X代表盘符)

方法2(推荐):C盘 – 右键 – 属性 - 磁盘清理 - 选中 以前的 Windows 安装 复选框 – 确定清理。

7.设置Win8 自动登陆,省去输入密码步骤,开机更快

快捷键Win+R – 输入 netplwiz - 取消使用计算机必须输入用户名和密码的选项 – 然后双击需要自动登录的账户 – 输入你的密码。

8.关闭ipv6

部分网卡驱动开启 ipv6会导致开机系统未响应,假死。如果你不是ipv6用户建议关闭,否则就更新网卡驱动试试看。

网络共享中心 – 网络连接 – 以太网 – 属性 – 取消 ipv6 。
10个Win8优化技巧解决win8速度慢

9.开启Hybrid Boot

Win8启动飞快 。默认是启动的,如果没有启动,可以到控制面板 – 电源选项 – 选择电源按钮的功能 – 更改当前不可用的设置 – 关机设置 – 勾上启用快速启动。

如果没有看到这功能,请先开启休眠:Win+X – 命令提示符 – 输入 powercfg -h on

10.关闭性能特效

系统属性 – 高级 - 性能 - 设置 – 关闭淡出淡入效果。打开文件夹,小软件之类的,唰唰的快!反正Win8都反璞归真,取消了Aero磨砂效果,不在乎这点特效了,直接关闭吧。