最近读到一篇文章,是关于如何提高一个aspx页面的速度。这是一个常见的面试问题。该问题原文出自这个网站。
出现这个问题的原因会多种多样,我们需要一步一步的排查来定位问题真正出现在哪里。
1. 找出那一块速度很慢,是网站自身还是数据库的交互过程慢。如果这个页面过程中执行了与数据库的交互,那么抽取出这些SQL指令用数据库控制台去跑一下。如果在数据库控制台上执行这些语句依然很慢,那么说明问题就是出现在与数据库的交互上边,此时就需要考虑优化这些SQL语句了。
a. 检查有没有建立索引来提高查询速度
b. 使用select * 会降低效率
c. 尽可能的少使用join关键词
2.如果SQL语句执行很快,那么问题就很可能出在网站自身。此时我们需要一个一个的查看每一个Page事件,来确定到底是哪一部执行很慢。在ASP.NET中有一个tracing的工具,我们可以通过这个来查看每一个事件用了多长的时间。在page directive中设置Trace="true",然后你就能在页面底端看到各个事件的时间参数列表了。