• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  幾千張表的SQL數據庫怎么設計持久層?

      幾千張表的SQL數據庫怎么設計持久層?

      來源:千鋒教育
      發布人:xqq
      時間: 2023-10-18 02:22:52

      一、幾千張表的SQL數據庫怎么設計持久層

      這個項目應該是先有成型的數據庫,再開始做上層軟件開發的。如果我猜的沒錯的話,是不是原軟件系統打算升級,或者從CS轉BS模式。

      如果這樣的話,標簽中的hibernate框架肯定是不合適的。各種考慮下mybatis幾乎是你少數的選擇。

      首先你應該對你們公司的業務進行分析。從應用層的角度抽象出你需要的實體bean。

      有2000多張表,怎么看都是個很重要的大項目,可維護性是名列前茅位,所以不要怕麻煩。分析你的bean,哪些是易于變動的,哪些是相對固定的。在此基礎上,你需要設計數據庫的View 和 存儲過程。

      這些都做好之后, 用SQL語句(包括存儲過程調用)把實體Bean和數據關聯起來。然后用mybatis框架做好SQL語句的管就好了。

      最后記住,大項目是不可能一步做好的,做好長期重構和維護的準備,另外文檔寫好,不光是給別人看,也是給自己看。能記住自已半年前的代碼思路的人,那記憶已經是極好的了。

      延伸閱讀:

      二、并發鎖

      在一定條件下,MyISAM也支持查詢和操作的并發進行。
      MyISAM存儲引擎有一個系統變量concurrent_insert,專門用以控制其并發插入的行為,其值分別可以為0、1或2。
      當concurrent_insert設置為0時,不允許并發插入。
      當concurrent_insert設置為1時,如果MyISAM允許在一個讀表的同時,另一個進程從表尾插入記錄。這也是MySQL的默認設置。
      當concurrent_insert設置為2時,無論MyISAM表中有沒有空洞,都允許在表尾插入記錄,都允許在表尾并發插入記錄。
      可以利用MyISAM存儲引擎的并發插入特性,來解決應用中對同一表查詢和插入鎖爭用。例如,將concurrent_insert系統變量為2,總是允許并發插入;同時,通過定期在系統空閑時段執行OPTIONMIZE TABLE語句來整理空間碎片,收到因刪除記錄而產生的中間空洞。

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      常用JS前端開發框架有哪些?

      2023-10-18

      讀寫分離為什么能夠提升性能?

      2023-10-18

      為什么noteexpress不能建立數據庫也不能打開別的數據庫?

      2023-10-18

      最新文章NEW

      為什么mysql innodDB中組合索引中范圍查詢后的條件索引會失效?

      2023-10-18

      QQ這種大型數據庫是怎么實現數據瞬間查詢的?

      2023-10-18

      網站使用大帶寬服務器有什么好處?

      2023-10-18

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>