iis – 比内存更快地从内存运行SQL?
最近我们一直遇到问题,我们的oracle数据库锁定了迄今为止我们所知道的1个查询.
我会对发生的事情进行细分,但是我的问题并没有太多关系,但我愿意接受建议. 间歇性地不知道它什么时候会发生,过去一个月发生了4次,一个用户,会点击应用程序中的某些内容.用户点击的内容仍然未知.当点击它时,它将在数据库上运行查询,该查询将生成大约700k行. 我检查了表运行查询并且索引看起来很好. 数据库为60GB,服务器上有32GB. 从数据库服务器上的日志中我看到高I / O但CPU和RAM保持不变. 一个应用服务器,CPU上升到大约75%.我可以找到工作进程,找到PID,但是当我杀死与工作进程关联的PID时,CPU会短暂停机然后再向上运行. 同时回收应用程序池,并重新启动IIS也会做同样的事情,CPU会短暂停机,然后再向右移动. 使服务器恢复正常的唯一办法就是重启. 所以我的建议如果这个查询是导致锁定的原因可以在框上增加内存以允许数据库被缓存并耗尽内存.我听过一次,但我不确定它是否属实. 存储是HP PAR 3,有3层,数据库几乎存在于SSD层. 哪个是更快的SSD或内存 解决方法
DRAM比NAND闪存更快. RAM访问大约为100 ns,而SSD随机读取大约16,000 ns. Latency Numbers Every Programmer Should Know 您需要对正在发生的事情和原因进行系统分析.不要仅仅因为你听到另一个关于另一个系统的事情而改变事物.找出这个系统的问题. 幸运的是,DBMS系统往往具有性能工具. Oracle和其他RDBMS具有EXPLAIN PLAN以显示完整扫描和其他低效率.即使使用索引,查询也可以执行得非常糟糕.还有像Oracle AWR这样的系统性能报告可以找到瓶颈.如果您想进一步询问数据库性能,您也可以询问我们的姐妹网站https://dba.stackexchange.com/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server-2008 – Sql Server 2008中的死锁故障排除
- mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
- sql-server – 如何强制SQL Server Management Studio更新I
- sql – MS Access:WHERE-EXISTS子句不能处理视图?
- sql – 创建db表NULL最佳实践
- sql-server-2008 – 使用SQL Server 2008和Office 2007的适
- sqlserver 2005数据库还原与备份
- SqlServer2008连接不上
- SQL Server日志过大会影响查询结果
- MySQL学习笔记2:数据库的基本操作(创建删除查看)