ACCESS複合承載 效能超越MYSQL

來源:互聯網
上載者:User

由於眾所周知的原因,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個小時,才把系統粗略做出來,睡眠不足,腦子都有點混,寫的亂七八糟(其實偶本來就不會寫,找個理由擋下。。),希望各位大大不要笑偶。。如果你也有邪門歪道的想法,也可以與我聯絡哦。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.