Sql 与数据库负载相关的网站速度性能

Sql 与数据库负载相关的网站速度性能,sql,Sql,我是新手,但我很好奇,数据库的大小是否会对页面加载速度产生负面影响。比如说,如果你必须从一个有20000条记录的小数据库中提取20个项目,然后从一个有2000000条记录的数据库中提取同样的20个项目,那么在其他条件相同的情况下,可以安全地假设后者会慢得多吗?购买更多专用服务器会提高速度吗。我想对自己进行这方面的教育,以便为将来的事件做好准备。假设数据越大,速度就越慢,这是不安全的。一个智能化设计的数据库将通过索引进行这样的页面访问。对于大多数实际问题,索引将适合内存。因此,任何页面访问的成本为

我是新手,但我很好奇,数据库的大小是否会对页面加载速度产生负面影响。比如说,如果你必须从一个有20000条记录的小数据库中提取20个项目,然后从一个有2000000条记录的数据库中提取同样的20个项目,那么在其他条件相同的情况下,可以安全地假设后者会慢得多吗?购买更多专用服务器会提高速度吗。我想对自己进行这方面的教育,以便为将来的事件做好准备。

假设数据越大,速度就越慢,这是不安全的。一个智能化设计的数据库将通过索引进行这样的页面访问。对于大多数实际问题,索引将适合内存。因此,任何页面访问的成本为:

查找数据库中适当记录的位置的成本。 将包含这些记录的数据库页加载到内存中的成本。 根据索引的大小,索引查找的成本变化相对较小。因此,典型的最坏情况是大约20次磁盘访问以获取数据。而且,对于各种各样的表大小,这一点不会改变

如果表很小并且适合内存,那么您就可以将其完全缓存在内存页缓存中。在这种情况下,这将加快查询速度。但性能的上限是固定的

如果索引不适合内存,那么情况就更复杂了

通常提高单个请求性能的方法是拥有更多内存。如果同时有多个请求,则需要更多处理器


而且,如果您看到线性性能下降,那么您的数据库对于您的应用程序需求的优化程度很低。在这种情况下,修复数据库结构通常比在这个问题上投入更多的硬件要好。

我会首先自学索引,它可能会慢一些,但如果是这样的话,它的速度会慢很多,你不会注意到。数据库的要点是快速、轻松地选择数据。。。如果您不知道如何决定如何将您的基础架构扩展到适当的级别,那么值得雇佣这样的人。非常感谢您的回答,它完全回答了我的问题。