如何解决服务器数据库查询速度慢

如何解决服务器数据库查询速度慢,第1张

确定网速没问题的话,用的又是存储过程,服务器要处理rollback,log之类的 *** 作会变慢,但是不至于慢这么多,你检查一下防火墙和杀毒软件,把他们关了看看会不会变快。能想到的就这么多了。刚刚给你查了下,禁用DNS解析,连接速度会快很多。不妨试一下,如果还慢的话,建议用缓存吧,比如hibernate框架

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

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

如果用不到家庭组可以直接把家庭组服务也给关闭了:控制面板 – 管理工具 – 服务 – HomeGroup Listener 和 HomeGroup Provider 禁用

10个Win8优化技巧解决win8速度慢

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

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

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,需要清理产生的Windowsold文件夹,腾出C盘空间

方法1:快捷键Win+X - 命令提示符 – 输入 rd X:windowsold /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磨砂效果,不在乎这点特效了,直接关闭吧。

希望可以帮到你

当在 Oracle Database 10g 中回滚长期运行的事务时,无论是并行实例恢复会话还是用户执行的回滚语句。您所需做的一切就是查看视图 V$SESSION_LONGOPS 并评估还需要多少时间。

项目中该数据库每月定期要导入大量数据。通过对导入数据期间LGWR switch出现频率的观察,发现LGWR switch切换过于频繁,需要对redo File进行优化,建议设置16个group,每个group member大小为200M。

另外,需要对导入脚本进行优化,

imp dw/cnfj_bts_dw file=call_gaa_551_200906dmp full=y ignore=y feedback=50000 buffer=10240000 commit=y indexes=n log=’/home/imp200909log’;附录:

1、停止并行回滚,减少IO请求,快速提升系统响应能力

如果你没时间等待回滚进程完成回滚 *** 作,可根据如下提示进行 *** 作。

最后在google上根据ora_p001, wait for a undo record 的关键字,找到了一些信息,以下信息引起了我的注意:

Oracle工程师首先怀疑是临时表空间空间不足导致,经检查临时表空间没有空间不足的情况,仔细观察日志发现重做日志文件不断切换,分析应该是有较多的事务没有完成提交或者有较多没有提交的事务完成回滚。现在面临的问题是我们没有很多时间去等待所有的事务去完成回滚或提交。解决问题的思路就是如何尽快结束这些事务的回滚或提交。

1) 查看spfile文件中是否有fast_start_parallel_rollback参数的设置,检查结果G网数据库没有设置该参数。如果没有显式设置,则该参数的默认值为low。修改该参数值为false

2) 将数据库启动到nomount状态:startup nomount

 3) 修改改参数值:alter system set fast_start_parallel_rollback = FALSE scope=spfile

4) shutdown immediate关闭数据库

5) startup启动

6) 查看该参数是否生效:show parameter fast_start_parallel_rollback

7) 等待一段时间

8) shutdown immediate数据库可以关闭

MySQL 在崩溃恢复时,会遍历打开所有 ibd 文件的 header page 验证数据字典的准确性,如果 MySQL 中包含了大量表,这个校验过程就会比较耗时。 MySQL 下崩溃恢复确实和表数量有关,表总数越大,崩溃恢复时间越长。另外磁盘 IOPS 也会影响崩溃恢复时间,像这里开发库的 HDD IOPS 较低,因此面对大量的表空间,校验速度就非常缓慢。另外一个发现,MySQL 8 下正常启用时居然也会进行表空间校验,而故障恢复时则会额外再进行一次表空间校验,等于校验了 2 遍。不过 MySQL 80 里多了一个特性,即表数量超过 5W 时,会启用多线程扫描,加快表空间校验过程。

如何跳过校验MySQL 57 下有方法可以跳过崩溃恢复时的表空间校验过程嘛?查阅了资料,方法主要有两种:

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 变量,想法破灭。

数据库最主要的就是数据库设计冗余,还是sql语句之类的,还有就是用存储过程比一般的sql语句快等到;其次就是编程代码的问题,例如if

else

if

else

if

else这个判断的,如果用switch的话就会快很多

以上就是关于如何解决服务器数据库查询速度慢全部的内容,包括:如何解决服务器数据库查询速度慢、Win10Win8访问数据库超级慢、windows 2008系统下 oracle11g响应缓慢如何解决系统cpu、内存、磁盘空间比较空闲等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9733618.html

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

发表评论

登录后才能评论

评论列表(0条)

保存