从内存运行SQL的速度比SSD快?


12

最近,我们的oracle数据库在锁定到目前为止我们所知道的1个查询时一直遇到问题。

我将对发生的事情进行细分,但实际上与我的问题没有太大关系,但我愿意提出建议。

过去一个月中,用户断断续续地不知道何时会发生,会在应用程序中单击某些内容。用户单击的内容仍然未知。无论单击什么,它将在数据库上运行查询,该查询将生成约700k行。

我检查了查询所针对的表,索引看起来不错。

数据库为60GB,服务器上为32GB。

从数据库服务器上的日志中,我看到I / O很高,但是CPU和RAM保持不变。

一台应用程序服务器,CPU达到大约75%。我可以找到工作进程,找到PID,但是当我杀死与工作进程相关的PID时,CPU将短暂关闭然后再向上运行。

同样,回收应用程序池,然后重新启动IIS也是一样,CPU将短暂关闭然后再重新启动。

要使服务器恢复正常运行,唯一可以做的就是重新启动。

因此,如果此查询是导致锁定的原因,我的建议是,可以在盒子上增加内存以允许数据库被缓存并耗尽内存。我曾经听过一次,但我不确定这是否属实。

该存储是具有3层的HP PAR 3,数据库几乎位于SSD层中。

SSD或内存哪个更快

Answers:


6

SSD或内存哪个更快

DRAM比NAND闪存快。RAM访问约为100 ns,而SSD随机读取约为16,000 ns。每个程序员都应该知道的延迟数

您需要对正在发生的事情和原因进行系统的分析。不要仅仅因为您听说过有关另一个系统的二手信息而进行更改。查找此系统上的问题。

幸运的是,DBMS系统倾向于具有性能工具。Oracle和其他RDBMS必须EXPLAIN PLAN显示完整扫描和其他效率低下的情况。即使使用索引查询也可以执行得非常糟糕。也有类似Oracle AWR的系统性能报告来查找瓶颈。如果您想进一步查询数据库性能,也可以访问我们的姊妹网站 /dba//

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.