熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL語言 >> 正文

在數據量和訪問量劇增條件下保持數據庫效率[2]

2013-11-13 12:38:50  來源: SQL語言 

  有些人在網上說再增加一張中介表可以提高速度

  中介表linker (uid mid)

  中介表是這樣用的每次當一個人發了一篇帖子則將所有訂閱他的人(uid)和這篇帖子的mid插入中介表裡例如uid=的人有個訂閱者分別為則當uid=的人發了一篇帖子mid=就應往linker表裡插入這些數據( ) ( ) ( )這樣對一個uid而言linker表和msg表就形成了一對一的關系查詢的時候只需級聯linker表和msg表就行了如下(還是以查uid=的為例)

  ) SELECT * FROM msg linker WHERE msgmid=linkermid and linkeruid=;

  這樣乍看好像比)要快一些因為就一個uid而言linker表和msg表是一對一的關系而方法)的卻是一對多的關系而且有些人認為就算不這麼看因為方法)在插入時比方法)多做了很多操作所以查詢的速度應該能比方法)快至少不會比方法)慢

  我實際測試下來的結果是方法)比方法)慢了至少倍的時間而且數據量越大慢得就越多測試結果

  a) user有friend有msg有條時平均查詢時間

  方法)是s方法)是s)比)慢

  b) 當msg有條時方法)是s方法)是s)比)慢

  (以上結果都是在建了索引之後的)

[]  []  []  


From:http://tw.wingwit.com/Article/program/SQL/201311/16303.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.