目前,我正面临一个性能问题(可能会导致以后的缩放问题)。我正在处理的应用程序非常复杂,并且运行在Server 2005上。我需要连接6-7个表才能得到所需的数据。所以我只能尽可能地优化。我想到了两件事:- Pros: minimum effort
- Cons: when table records get bigger the problem
我试图优化页面的加载时间,并找到了一个请求,即获取数据并花费6-7秒。我使用了runprofileserver of ,发现导致延迟的不是数据库,而是对核心python方法的过度调用。由于主要调用发生在posixpath.py和genericpath.py的内置python函数上,因此没有太多的优化范围。
请您在查看上述数据后,提出优化的方法(如果有的话)。
现在,如果我在VS2010中运行相同的性能分析,以便找到速度较慢的部分,代码将在大约6-7秒内执行。现在,如果我的代码确实运行得这么快,这对于应用程序来说是完全可以接受的。我已经尝试通过调试和发布配置文件运行代码(没有性能分析),几乎没有区别。注意事项:所讨论的函数使用了相当多的LINQ to SQL,im使用的性能分析是CPU采样。
查询:SELECT * FROM logs WHERE created_at >= 1446422400 AND created_at <= 1447027199
此查询的性能较差,运行时间约为6-7小时当我执行一个简单的SELECT * FROM logs WHERE id >= xx AND id <= yy,设置xx和yy以使结果集几乎相同(3000万行)时,运行max时,性能非常好。如何优化索引?我几天前重新创建了这个表,所以索引应该没问题。