无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻 > 产业新闻 >

网站出現耗資源的缘故及处理方式

时间:2021-03-10 22:08来源:未知 作者:jianzhan 点击:
常常有些人会问:一个网站是个很一般的网站,沒有是多少浏览量,为何还常常提醒耗資源?不是是服务器难题等。今日网编就这一难题给大伙儿解释下:...1.什么叫耗資源? 耗資源
常常有些人会问:一个网站是个很一般的网站,沒有是多少浏览量,为何还常常提醒耗資源?不是是服务器难题等。今日网编就这一难题给大伙儿解释下:...1.什么叫耗資源?
     耗資源即程序占有 CPU 及运行内存过量,是对資源的一种消耗。顾客应用虚似服务器时程序撰写的不符合理、不正确比较严重,导致网络服务器负荷大幅度升高,巨大的危害了一切正常顾客的应用,便是耗資源(顾客程序常见故障)。耗資源(顾客程序常见故障)分成耗用 CPU 資源和运行内存資源二种。
2.是什么原因造成的耗資源?
   .程序出現死循环系统
    在许多状况下,出現死循环系统是由于程序缺乏必需的检验和分辨标准造成,这类状况需网站建设者对站点程序的编码开展查验和健全。
    .程序有嵌套循环查寻
sql = "select * from a"
set rs = server.createobject("adodb.recordset")
rs.open sql,conn,1,1
while not rs.eof
      sql2 = "select * from b where fid=" rs("id")
      set rs2 = server.createobject("adodb.recordset")
      rs2.open sql2,conn,1,1 '   //应用嵌套循环查寻,高效率会出現降低
          while not rs2.eof
            response.write rs("id") "=" rs2("name")
            rs2.movenext
          wend
      rs.movenext
wend
    嵌套循环查寻会导致数据信息库的查寻量呈指数值级升高,造成一个程序的查寻高效率十分低。若程序改成连表实际操作,查寻数据信息库的频次会少许多,而且在设计方案数据信息库的情况下应当将b表的fid字段名创建数据库索引,不然连表查寻的情况下特性会差许多,编码实例以下所显示。
%
  sql = "select a.id ,b.name from a left join b on b.fid=a.id" '//应用连表实际操作,并且用实际的字段名名替代 *,程序是高效率许多
  set rs = server.createobject("adodb.recordset")
  rs.open sql,conn,1,1
  while not rs.eof
     response.write rs("id") "=" rs("name")
     rs.movenext
  wend
%
    .ACCESS数据信息库的容积较为大
    假如网站选用ACCESS数据信息库,当数据信息库的容积较为大时(例如超出100M之上),特性便可能会出現难题,因此浏览量大的网站一般都选用SQL Server、MySQL、Oracle等特性较为高的数据信息库模块。
     .数据信息库的数据库索引设定难题
    一个表最少有一个主键和N个外键约束,一般主键做为表的唯一标志。当查找数据信息时,假如以主键的值来开展搜索得话高效率会较为高,而一些标示性的字段名,比如商品表的商品隶属归类、客户表的客户级别等,在程序中常常要采用这种字段名来开展查找数据信息。那麼,一般应当给这种字段名创建数据库索引,那样查找数据信息的情况下特性会更好许多。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信

在线咨询
联系电话

400-888-8866