程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 超越MYSQL,ACCESS復合承載

超越MYSQL,ACCESS復合承載

編輯:關於Access數據庫

由於眾所周知的原因,ACCESS在大型站點應用中都靠不上邊,主要問題就是數據量大了以後幾乎無法索引。當ACCESS裡數據過萬後,明顯可以感覺到速度變慢,過2萬條數據後,慢的可以跟蝸牛相提並論了。但是由於某人靈光突現,想到了一個解決Access數據庫承載問題的方案,那個某人就是偶啦……最喜歡搞歪門邪道地偶。

這個解決方案就是“Access復合承載”(本人原創的詞,實在找不到合適的描述),簡單說就是將原來一個數據庫剝離為多個,成為一個主數據庫帶多個輔數據庫。拿我已經實現的開良小說系統來說,小說信息都存儲在主數據庫內,用於列表檢索,小說章節存在輔數據庫內,每本小說獨立占一個數據庫。可能這樣你看著有點模糊,我們來下數據對比,一個小說站,算5個分類,每個分類400部小說,每部小說300章節(其實很多小說都不止300章節),那麼數據量為5×400×300=60萬條數據,這還只是章節數據,其他的還有書目、用戶、評論等等數據,這樣大的數據量,即使是MySQL或者MSSQL也要好好規劃。但是,采用ACCESS復合承載以後,就會變成1個書目數據庫加2000個章節數據庫,每個章節數據庫裡有300條數據,從只有300條記錄的Access庫裡讀東西,速度我想大家都能理解,即使是動態讀取也絕對不慢。那麼,這裡又涉及到一個關鍵的問題,如何將主庫與輔庫連起來,這其實很簡單,我在小說系統裡用的是用書目的ID來命名數據庫,將數據庫打開與關閉做成一個函數,要什麼小說的章節就直接打開這個小說的數據庫就OK了。

談完方法,我們來談談優缺點。優點很顯著,其一,可以做以前很多做不了的事情,ACCESS庫原來根本做不了小說系統,現在可以做了,而且還可以做的很大。其二,Access是以獨立文件形式存在的,可以很方便的實現復合承載,其他數據庫做不到這麼方便。其三,一個數據庫僅幾百條數據,讀取效率絕不在其他數據庫之下(例如MySQL 、MSSQL)。其四,Access一般的空間都支持,通用性很高,而且大小不限哦。

接著來看缺點,第一,對程序員的要求也要高一些,數據庫的規劃必須要完善,數據庫多了後要用執行SQL語句來修改格式,不懂編程語言的人是搞不了的。第二,數據檢索始終還是有缺陷(對於一些文章系統來說,小說系統壓根沒這缺陷),無法進行全庫檢索,只能單庫檢索。

昨天晚上到今天早上一共花了8個小時,才把系統粗略做出來,睡眠不足,腦子都有點混,寫的亂七八糟(其實偶本來就不會寫,找個理由擋下。。),希望各位大大不要笑偶。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved