偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

空間換時(shí)間的數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)中非常重要的工作之一,本文將為大家講解一種比較新的知識(shí)點(diǎn),即空間轉(zhuǎn)換時(shí)間的數(shù)據(jù)庫(kù)設(shè)計(jì),希望大家能夠喜歡。

導(dǎo)讀:數(shù)據(jù)庫(kù)設(shè)計(jì)是工作中經(jīng)常會(huì)涉及到的,下文中將為大家?guī)?lái)空間轉(zhuǎn)換時(shí)間的詳細(xì)講解。大家都知道,我們的系統(tǒng)中很常會(huì)用到SMS、Email等的發(fā)送,在我們的設(shè)計(jì)中通常會(huì)創(chuàng)建一個(gè)Tb_outbox表,當(dāng)產(chǎn)生數(shù)據(jù)時(shí),插入到Tb_outbox表,由定時(shí)器去讀取Tb_outbox的數(shù)據(jù)進(jìn)行發(fā)送,發(fā)送完了再修改Tb_outbox的發(fā)送狀態(tài)。是的,這就是通常的做法,但是當(dāng)我們的SMS、Email的發(fā)送頻率和數(shù)量足夠大的時(shí)候,我們的系統(tǒng)就會(huì)出現(xiàn)性能、表被鎖等問(wèn)題。那么如何能夠解決這些問(wèn)題呢?

下面的設(shè)計(jì)的一個(gè)思想就是如標(biāo)題所述:空間換時(shí)間。就個(gè)人而言,我感覺(jué)這個(gè)描述更加貼切:對(duì)象的職責(zé)分離,把Insert、Update、Delete等分離在不同的表中。下面就來(lái)看看這個(gè)設(shè)計(jì)圖:

 

圖:邏輯圖

 

Tb_NotSent_buffer:待發(fā)送短信緩存表(即時(shí)清理).

該表是為了避免應(yīng)用過(guò)多對(duì)Tb_NotSent同時(shí)操作產(chǎn)生鎖表情況。
主要考慮到產(chǎn)生待發(fā)短信的邏輯通常會(huì)比較復(fù)雜,或者長(zhǎng)事務(wù)。
一次性將已經(jīng)在buffer表里的短信insert到Tb_NotSent,這次插入沒(méi)有長(zhǎng)事務(wù)計(jì)算,由一條insert from select完成。
該表并非一定用到,視乎產(chǎn)生待發(fā)短信的邏輯的事務(wù)復(fù)雜度,和量而定。

Tb_NotSent:待發(fā)送的短信(會(huì)被定時(shí)清理)

會(huì)將該已經(jīng)發(fā)送的短信的處理結(jié)果存儲(chǔ)在jms消息隊(duì)列里。
把這些數(shù)據(jù)從Tb_NotSent copy到Tb_outbox同時(shí),插一條記錄到Tb_Sent.這樣作是為了下一步刪除Tb_NotSent里已經(jīng)發(fā)送的信息.同時(shí)又不因?yàn)閯h除而鎖Tb_NotSent表(應(yīng)用使用)

使用空間換時(shí)間的思想,減少對(duì)同一張表(Tb_outbox)的過(guò)多操作和過(guò)程時(shí)間的操作,導(dǎo)致鎖表出現(xiàn)系統(tǒng)瓶頸。

Tb_outbox:存儲(chǔ)歷史記錄的主表,該表需建立在獨(dú)立的數(shù)據(jù)庫(kù)。

減少備份文件大小,可靈活調(diào)整,大大減少備份空間的需求。
減少對(duì)主數(shù)據(jù)庫(kù)的影響。
Tb_Sent:一個(gè)參照表,為刪除Tb_NotSent表做基表
已經(jīng)發(fā)送短信(會(huì)定時(shí)清理),存放已經(jīng)被網(wǎng)關(guān)處理的短信(發(fā)送成功或者失敗)。
這個(gè)表不一定要保存和Tb_NotSent一樣多的字段,也許只要兩個(gè)字段,那就是ID值和狀態(tài)值。

數(shù)據(jù)庫(kù)設(shè)計(jì)中空間轉(zhuǎn)換時(shí)間就為大家介紹這么多,相信大家通過(guò)上文的學(xué)習(xí),對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)中國(guó)空間轉(zhuǎn)換時(shí)間有所了解,希望大家都能夠從中有所收獲。

【編輯推薦】

  1. 數(shù)據(jù)庫(kù)設(shè)計(jì)流程
  2. Oracle查詢(xún)每個(gè)表占用空間大小
  3. 如何在Oracle表中插入系統(tǒng)時(shí)間
  4. 詳細(xì)講解如何將數(shù)據(jù)模型轉(zhuǎn)換成數(shù)據(jù)庫(kù)設(shè)計(jì)
責(zé)任編輯:迎迎 來(lái)源: 博客園
相關(guān)推薦

2011-08-16 09:05:21

SQL Server數(shù)測(cè)試索引空間換時(shí)間

2025-01-10 11:42:13

2011-08-05 12:44:57

Oracle數(shù)據(jù)庫(kù)表空間

2009-05-14 13:36:11

Oracle表空間優(yōu)化

2010-07-21 10:27:49

SQL Server

2024-11-15 09:41:03

2017-09-26 13:35:40

Mysql數(shù)據(jù)庫(kù)設(shè)計(jì)樹(shù)狀數(shù)據(jù)

2011-04-15 13:28:44

數(shù)據(jù)庫(kù)設(shè)計(jì)

2011-03-10 11:17:03

數(shù)據(jù)庫(kù)設(shè)計(jì)技巧

2011-03-10 11:12:59

數(shù)據(jù)庫(kù)

2010-04-21 11:43:33

Oracle數(shù)據(jù)庫(kù)

2023-11-13 16:58:40

數(shù)據(jù)庫(kù)系統(tǒng)

2019-10-21 16:54:48

數(shù)據(jù)庫(kù)設(shè)計(jì)SQL

2011-04-12 13:44:39

緩存

2019-12-26 17:25:22

數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)

2019-10-11 08:19:01

Oracle數(shù)據(jù)庫(kù)表空間設(shè)計(jì)

2021-09-27 23:58:55

數(shù)據(jù)庫(kù)分層設(shè)計(jì)

2023-02-16 17:44:13

2010-07-21 10:05:29

SQL Server排

2011-07-18 15:59:17

MySQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)