• λ我爱Aspx >> C#.Net >> 数据库的查询优化技术_数据库技巧
  • 数据库的查询优化技术_数据库技巧

  • :aspxer  Դ:internet  :2007-4-28 23:46:55  ؼ:数据库,数据
  • WHERE pv_by_vn.vendor_num=vendor.vendor_num

    ORDER BY pv_by_vn.part_num

    INTO TMP pvvn_by_pn

    DROP TABLE pv_by_vn

    这个查询读取pv_by_vn(50页),它通过索引存取vendor表1.5万次,但由于按vendor_num次序排列,实际上只是通过索引顺序地读vendor表(40+2=42页),输出的表每页约95行,共160页。写并存取这些页引发5*160=800次的读写,索引共读写892页。

    3.把输出和part连接得到最后的结果:

    SELECT pvvn_by_pn.*,part.part_desc

    FROM pvvn_by_pn,part

    WHERE pvvn_by_pn.part_num=part.part_num

    DROP TABLE pvvn_by_pn

    这样,查询顺序地读pvvn_by_pn(160页),通过索引读part表1.5万次,由于建有索引,所以实际上进行1772次磁盘读写,优化比例为30∶1。笔者在Informix Dynamic Sever上做同样的实验,发现在时间耗费上的优化比例为5∶1(如果增加数据量,比例可能会更大)。

    小结

    20%的代码用去了80%的时间,这是程序设计中的一个著名定律,在数据库应用程序中也同样如此。我们的优化要抓住关键问题,对于数据库应用程序来说,重点在于SQL的执行效率。查询优化的重点环节是使得数据库服务器少从磁盘中读数据以及顺序读页而不是非顺序读页。

    Ҷƪл˵?
  • һƪ在ASP中优化数据库处理_ASP技巧
    һƪSQL语句的自动优化_数据库技巧