論壇資料庫表
在控制台根目錄下打開sqlserver企業管理器,新建sqlserver組,根據自己的情況進行選擇;然後新建sqlserver
注冊,進行對sqlserver的連接。准備妥當後,下面就開始了:
首先打開數據轉換服務,新建包,打開dts界面,在連接中選擇數據源進行配置。再選擇將要轉換到的目的文件,這里我選的
textfile(destination),選擇好文件的存放位置之後,我們來新建一個任務。這里我們只選擇轉換數據任務,將帶有「選擇源連接」「選擇目的連接」的滑鼠分別選中數據源和目的之後,我們對新生成的連接進行定義,在其屬性中將源,目的,轉換依次定義。
執行任務,提示成功。保存任務。然後在新建的任務上導出數據,有向導提示,其中一項選擇「從源資料庫復製表和視圖」。
這一步已經把數據導出到目的文件中。
下一步在mysql中新建表,與將要導入的結構保持一致時,直接選取「從文本文件中提取數據,插入到數據表:」,將選項添好後,「發送」就可以了,瀏覽一下,數據已導入了。若要導入的表已經存在,且屬性名也不同,這時就先建一個與要導入的數據相同結構的表並導入數據(按剛才的進行就可以了),然後在mysql中導出「數據和結構」,得到sql語句,將其在文本文件中編輯,利用文本編輯器的替換功能,將表名修改,列名加入,最後將其粘貼在要導入表的執行sql語句的地方,執行一下,數據便導入了。
2. discuz論壇 資料庫簡單分析
Discuz! 資料庫結構參考
總表===>>
各表概述
cdb_access--當某用戶對某些版塊有特定的許可權的時候,該表記錄了該用戶在這些版塊有什麼許可權。
cdb_admingroups--管理模組信息表
cdb_adminsessions--後台管理登錄記錄
cdb_announcements--論壇公告信息
cdb_attachments--附件信息表
cdb_attachtypes--附件的所性類型(即後台的附件類型設置,如果沒有設置,默認為空。)
cdb_banned--IP禁止信息表
cdb_bbcodes--Discuz!代碼信息表
cdb_buddys--會員的好友列表
cdb_caches--統計頁面的緩存
cdb_failedlogins--非法登錄後台的記錄
cdb_favorites--記錄用戶收藏主題的相關信息
cdb_forumlinks--聯盟論壇
cdb_forums--論壇版塊信息表
cdb_karmalog--用戶評分記錄
cdb_members--論壇所有會員主信息表
cdb_onlinelist--在線會員信息
cdb_plugins--插件信息表
cdb_plugins_settings--插件的配置設置信息相關
cdb_pms--論壇簡訊數據表
cdb_polls--投票內容信息表
cdb_posts--論壇所有貼子信息表
cdb_ranks--用戶發貼等級記錄
cdb_searchindex--搜索結果緩存
cdb_sessions--在線用戶信息表(臨時表)
cdb_settings--論壇基本設置相關。(包括後台基本設置、注冊人數、最多在線人數、功能、其它設置
等等。)
cdb_smilies--表情設置
cdb_stats--論壇統計信息
cdb_styles--風格信息表
cdb_stylevars--風格的配置信息
cdb_subscriptions--記錄訂閱主題的相關信息
cdb_templates--模板信息表
cdb_threads--論壇所有主題信息表
cdb_usergroups--用戶組主信息表
cdb_words--不良詞語過濾
cdb_access
數據表功能介紹:當某用戶對某些版塊有特定的許可權的時候,該表記錄了該用戶在這些版塊有什麼許可權
。
uid--mediumint(8)--會員的UID編號
fid--smallint(6)--版塊的ID號
allowview--tinyint(1)--是否允許查看貼子
allowpost--tinyint(1)--是否允許發貼
allowreply--tinyint(1)--是否允許回復
allowgetattach--tinyint(1)--是否允許下載附件
cdb_admingroups
數據表功能介紹:管理模組信息表
admingid--smallint(3)--管理組的ID
admintitle--char(30)--管理組的頭銜
adminglobal--tinyint(1)--是否擁有全局許可權
alloweditpost--tinyint(1)--是否允許編輯貼子
alloweditpoll--tinyint(1)--是否允許編輯投票
allowdelpost--tinyint(1)--是否允許刪除貼子
allowmassprune--tinyint(1)--是否允許批量刪貼
allowcensorword--tinyint(1)--是否允許詞語過濾
allowviewip--tinyint(1)--是否允許查看IP
allowbanip--tinyint(1)--是否允許封鎖IP
allowedituser--tinyint(1)--是否允許編輯用戶
allowbanuser--tinyint(1)--是否允許禁止用戶來訪
allowpostannounce--tinyint(1)--是否允許發布論壇公告
allowviewlog--tinyint(1)--是否允許查看後台的記錄
allowhighlight--tinyint(1)--是否允許高亮主題
allowdigest--tinyint(1)--是否允許精華主題
allowclose--tinyint(1)--是否允許關閉主題
allowmove--tinyint(1)--是否允許移動主題
allowtop--tinyint(1)--是否允許固頂主題
allowmerge--tinyint(1)--是否允許合並主題
allowsplit--tinyint(1)--是否允許分割主題
disablepostctrl--tinyint(1)--發貼不受限制
cdb_adminsessions
數據表功能介紹:後台登錄記錄。
uid--mediumint(8)--用戶的UID編號
ip--char(20)--登錄時記錄的IP
dateline--int(10)--登錄的日期時間
errorlog--tinyint(1)--密碼錯誤次數
cdb_announcements
數據表功能介紹:論壇公告信息。
id--smallint(6)--公告的ID
author--varchar(15)--公告的發布者
subject--varchar(250)--公告的標題
posturl--varchar(250)--內容的URL鏈接
displayorder--tinyint(3)--顯示順序
starttime--int(10)--起始時間
endtime--int(10)--結束時間
message--text--公告內容
cdb_attachments
數據表功能介紹:論壇附件信息表
aid--mediumint(8)--附件的ID
tid--mediumint(8)--附件所在主題的ID
pid--int(10)--附件所在貼子的ID
uid--mediumint(8)--所發附件的會員的ID編號
creditsrequire--smallint(6)--下載要求,即所需多少積分才能看到/下載附件
filename--char(100)--上傳時附件的文件名
filetype--char(50)--上傳附件的類型
filesize--int(10)--附件文件的大小
attachment--char(100)--上傳後的附件的文件名
dateline--int(10)--上傳/最後更新附件的日期時間
downloads--smallint(6)--被下載次數
cdb_attachtypes
數據表功能介紹:附件類型信息。
id--smallint(6)--記錄附件類型設置的ID,每條對應一個ID
extension--char(10)--類型設置時的擴展名
maxsize--int(10)--控制最大上傳大小
cdb_banned
數據表功能介紹:被禁IP的信息記錄。
id--smallint(6)--被禁IP的列表的ID
ip1、ip2、ip3、ip4--smallint(3)--IP地址段,1,2,3,4各代表IP的四段
admin--varchar(15)--操作者記錄
dateline--int(10)--封IP的時間
expiration--int(10)--自動解封的時間
cdb_bbcodes
數據表功能介紹:Discuz!代碼信息表。
id--mediumint(8)--標簽的ID
available--tinyint(1)--是否可用
tag--varchar(100)--標簽名稱
replacement--text--替換內容
example--varchar(255)--例子
explanation--text--解釋說明
params--tinyint(1)--參數個數
nest--tinyint(3)--嵌套次數
cdb_buddys
數據表功能介紹:會員的好友列表。
uid--mediumint(8)--用戶的UID編號
buddyid--mediumint(8)--會員所加好友的好友UID編號
cdb_caches
數據表功能介紹:統計頁面的緩存。
cid--int(10)--緩存時所自動生成的ID
ckey--varchar(80)--緩存名稱
cval--text--緩存內容
dateline--int(10)--頁面緩存的時間
extr--varchar(80)--目前沒用到*
cdb_failedlogins
數據表功能介紹:非法登錄後台的記錄。
ip--char(15)--非法登入者的IP
count--tinyint(1)--登入的次數
lastupdate--int(10)--最後更新日期
cdb_favorites
數據表功能介紹:記錄用戶收藏主題的相關信息。
uid--mediumint(8)--用戶的UID編號
tid--mediumint(8)--會員收藏主題的主題ID
cdb_forumlinks
數據表功能介紹:聯盟論壇。
id--smallint(6)--每項聯盟論壇生成一個順序ID
displayorder--tinyint(3)--顯示順序
name--varchar(100)--網站名稱
url--varchar(200)--網站地址
note--varchar(200)--網站說明
logo--varchar(100)--LOGO地址
cdb_forums
數據表功能介紹:論壇版塊信息表。
fid--smallint(6)--版塊的ID
fup--smallint(6)--所在上級版塊的ID
type--enum('group', 'forum', 'sub')--版塊的類型,即:group(分類)、forum(默認版塊)、sub
(下級子版)
icon--varchar(50)--版塊圖標
name--varchar(255)--版塊名稱
description--varchar(255)--版塊簡介
status--tinyint(1)--是否在論壇上顯示
displayorder--tinyint(3)--各版塊顯示順序
moderator--varchar(255)--版主名單
styleid--smallint(6)--所用的風格ID
threads--mediumint(8)--共有多少主題的統計
posts--mediumint(8)--共有多少貼子的統計
lastpost--varchar(110)--最後發帖用戶名,發帖時間,標題這三個信息組成的字串
allowsmilies--tinyint(1)--是否允許使用表情
allowhtml--tinyint(1)--是否允許使用HTML
allowbbcode--tinyint(1)--是否允許使用Discuz!代碼
allowimgcode--tinyint(1)--是否允許使用IMG代碼
postcredits--tinyint(3)--發新貼加積分的數目
replycredits--tinyint(3)--回復加積分的數目
password--varchar(12)--論壇版塊的訪問密碼
viewperm--varchar(100)--瀏覽版塊許可
postperm--varchar(100)--發貼子許可
replyperm--varchar(100)--回復主題許可
getattachperm--varchar(100)--下載附件許可
cdb_karmalog
數據表功能介紹:用戶評分記錄。
kid--int(10)--評分記錄的ID
uid--mediumint(8)--評分人的UID編號
pid--int(10)--被評分的貼子的ID
dateline--int(10)--評分的操作時間
score--tinyint(3)--評分所加減的積分
cdb_members
數據表功能介紹:論壇所有會員主信息表。
uid--mediumint(8)--用戶的UID編號
username--varchar(15)--用戶ID的名稱
password--varchar(32)--用戶的登錄密碼(MD5)
secques--varchar(8)--安全提問信息
gender--tinyint(1)--性別
adminid--smallint(3)--管理組ID號(1為管理員、2為總版主、3為版主、0表示否,即非管理組,-1表
示 特殊組及除了1,2,3以外的系統組(即4,5,6,7,8組))
groupid--smallint(6)--用戶組ID號
regip--varchar(15)--注冊時的IP記錄
regdate--int(10)--注冊日期
lastip--varchar(15)--上次訪問IP記錄
lastvisit--int(10)--上次訪問日期
lastactivity--int(10)--最後活動時間
lastpost--int(10)--最後發表日期
postnum--smallint(6)--總貼數
credit--int(10)--積分
extracredit--int(10)--DZ25預留的擴展積分*
email--varchar(60)--會員的EM地址
site--varchar(75)--會員的主頁
icq--varchar(12)--會員的ICQ
oicq--varchar(12)--會員的QQ
yahoo--varchar(40)--會員的雅虎通
msn--varchar(40)--會員的MSN
location--varchar(30)----來自
bday--date--生日
bio--text--自我介紹
avatar--varchar(100)--會員頭像
avatarwidth--tinyint(3)--頭像的寬度
avatarheight--tinyint(3)--頭像的高度
signature--text--簽名
customstatus--varchar(30)--自定義頭銜
tpp--tinyint(3)--顯示每頁主題數的數量
ppp--tinyint(3)--顯示每個主題的回復數的數量
styleid--smallint(6)--所選風格的ID
dateformat--varchar(10)--日期格式
timeformat--varchar(5)--時間格式
showemail--tinyint(1)--是否顯示EM地址
newsletter--tinyint(1)--同意接收論壇通知
invisible--tinyint(1)--是否隱身
timeoffset--varchar(4)--時差設定
ignorepm--text--忽略的短消息列表
newpm--tinyint(1)--是否有新的簡訊並提示
accessmasks--tinyint(1)--表示該用戶是否對某些板塊指定了特別的許可權
identifying--varchar(20)--當一個新注冊的用戶通過EM驗證的時候、用戶忘記密碼需要通過EM取回的
時 候,該欄位寫入隨機的認證字串
cdb_onlinelist
數據表功能介紹:在線會員信息。
groupid--smallint(6)--用戶組所在ID
displayorder--tinyint(3)--顯示順序
title--varchar(30)--顯示的名稱
url--varchar(30)--小圖標的URL
cdb_plugins
數據表功能介紹:插件信息表。
plug_id--smallint(6)--插件的ID
plug_title--varchar(255)--插件名稱
plug_version--varchar(255)--插件版本
plug_author--varchar(255)--插件作者
plug_key--varchar(255)--插件英文標識(唯一)
plug_stats--tinyint(1)--是否顯示插件在前台
plug_cp--varchar(255)--插件自定義管理程序
plug_tables--varchar(255)--插件數據表
plug_license--text--插件版權聲明內容
plug_desc--text--插件說明
cdb_plugins_settings
數據表功能介紹:插件的配置設置信息相關。
conf_id--int(10)--插件配置項目的ID
conf_title--varchar(255)--插件配置名稱
conf_desc--text--插件配置說明
conf_group--varchar(255)--插件配置所在組(即英文標識、即所對應著的插件)
conf_type--varchar(255)--插件配置項目類型
conf_key--varchar(255)--插件配置唯一標識
conf_value--text--插件配置數值
conf_extra--text--插件配置擴充
conf_position--smallint(3)--插件配置顯示順序
conf_cached--tinyint(1)--插件配置是否緩存
cdb_pms
數據表功能介紹:論壇簡訊數據表。
pmid--int(10)--短消息的ID
msgfrom--varchar(15)--簡訊發起人的會員名稱
msgfromid--mediumint(8)--簡訊發起人的會員UID編號
msgtoid--mediumint(8)--簡訊接收人的會員UID編號
folder--enum('inbox', 'outbox')--收件箱、發件箱(默認為收件箱)
new--tinyint(1)--是否已讀標記(1=未讀,且未忽略 2=未讀,且已忽略)
subject--varchar(75)--簡訊標題
dateline--int(10)--發送日期
message--text--簡訊內容
cdb_polls
數據表功能介紹:投票內容信息表。
tid--mediumint(8)--投票貼子的主題ID
pollopts--mediumtext--投票貼子的投票項目
cdb_posts
數據表功能介紹:論壇所有貼子信息表。
pid--int(10)--貼子的ID
fid--smallint(6)--貼子所在版塊的版塊ID
tid--mediumint(8)--貼子所在主題的主題ID
aid--tinyint(1)--貼子里的附件ID
author--varchar(15)--貼子的發表者的會員名稱
authorid--mediumint(8)--貼子的發表者的會員UID編號
subject--varchar(80)--貼子的標題
dateline--int(10)--發表貼子的日期時間
message--mediumtext--貼子的內容
useip--varchar(15)--發表者的IP
usesig--tinyint(1)--顯示發表者的個性簽名
bbcodeoff--tinyint(1)--是否允許Discuz!代碼
smilyoff--tinyint(1)--是否允許使用表情
parseurloff--tinyint(1)--禁用URL識別
rate--smallint(6)--貼子里用戶評分記錄
ratetimes--tinyint(3)--被評分的次數
cdb_ranks
數據表功能介紹:用戶發貼等級記錄。
rankid--smallint(6)--等級記錄的ID
ranktitle--varchar(30)--等級頭銜
postshigher--smallint(6)--發貼數高於
stars--tinyint(3)--星星數
color--varchar(7)--頭銜顏色
cdb_searchindex
數據表功能介紹:搜索結果緩存。
searchid--int(10)--搜索結果的ID
keywords--varchar(255)--關鍵字
searchstring--varchar(255)--儲選項,例如搜索的版塊,用戶名,全文搜索等等,是拼湊出來的字串
useip--varchar(15)--使用搜索功能的會員IP
uid--mediumint(10)--使用搜索功能的會員的UID編號
dateline--int(10)--使用搜索功能的日期時間
expiration--int(10)--過期的時間,下次搜索如果過了這時間就會重新搜索一次,更新資料
threads--smallint(6)--搜索結果的主題數
tids--text--搜索結果的貼子ID
cdb_sessions
數據表功能介紹:在線用戶信息表(臨時表)。
sid--char(6)--是由Dz自己生成的一個隨機的session號
ip1、ip2、ip3、ip4--tinyint(3)--IP地址段,1,2,3,4各代表IP的四段
uid--mediumint(8)--會員的UID編號
username--char(15)--會員的名稱
groupid--smallint(6)--會員的用戶組
styleid--smallint(6)--會員所用的風格ID
invisible--tinyint(1)--會員是否隱身狀態
action--tinyint(1)--會員的動作
lastactivity--int(10)--最後活動記錄時間
fid--smallint(6)--所在的版塊ID
tid--mediumint(8)--所在的貼子ID
cdb_settings
數據表功能介紹:論壇基本設置相關。
(包括後台基本設置、注冊人數、最多在線人數、功能、其它設置等等。)
variable--varchar(32)--變數名*
value--text--改變變數的具體值*
cdb_smilies
數據表功能介紹:表情設置。
id--smallint(6)--表情的ID
type--enum('smiley', 'icon')--表情的類型(即貼子里的表情和主題圖標兩類)
code--varchar(10)--smilies代碼
url--varchar(30)--表情文件名的路徑
cdb_stats
數據表功能介紹:論壇統計信息。
type--varchar(20)--各類的統計,包括使用IE的統計、流量的統計等等
var--varchar(20)--各類統計的值,隨上面的type而改變,如果為IE統計,則顯示使用IE BROWSER的多
少;如果為流量統計,則顯示多少每時段的數值等等
count--int(10)--計數
cdb_styles
數據表功能介紹:風格信息表。
styleid--smallint(6)--風格的ID
name--varchar(20)--風格的名稱
available--tinyint(1)--是否可用
templateid--smallint(6)--對應的模板ID
cdb_stylevars
數據表功能介紹:風格的配置信息。
stylevarid--smallint(6)--自動增加的編號,用來唯一的確定一條記錄
styleid--smallint(6)--風格的ID
variable--text--對應風格的對應部分的名字,比如背景色
substitute--text--對應風格的對應部分的取值
cdb_subscriptions
數據表功能介紹:記錄訂閱主題的相關信息。
uid--mediumint(8)--會員的UID編號
tid--mediumint(8)--會員所訂閱的主題ID
email--varchar(60)--會員的EM
lastnotify--int(10)--最後訂閱的主題記錄
cdb_templates
數據表功能介紹:模板信息表。
templateid--smallint(6)--模板的ID
name--varchar(30)--模板名稱
charset--varchar(30)--模板所用語言編碼類型
directory--varchar(100)--模板所在templates目錄
right--varchar(100)--模板的版權信息
cdb_threads
數據表功能介紹:論壇所有主題信息表。
tid--mediumint(8)--主題的ID
fid--smallint(6)--主題所在版塊的版塊ID
creditsrequire--smallint(6)--需設置多少積分才能瀏覽該主題
iconid--smallint(6)--主題圖標
author--char(15)--主題的會員名稱
authorid--mediumint(8)--主題的會員UID編號
subject--char(80)--主題的標題
dateline--int(10)--發表日期
lastpost--int(10)--最後發表日期
lastposter--char(15)--最後發表的會員名稱
views--mediumint(8)--人氣值(即瀏覽數)
replies--smallint(6)--回復數
displayorder--tinyint(1)--顯示順序
highlight--tinyint(1)--是否為高亮
digest--tinyint(1)--是否為精華貼
poll--tinyint(1)--是否為投票貼
attachment--tinyint(1)--是否為有附件的主題
closed--mediumint(8)--主題是否關閉事實上除了關閉以外,當主題被移動,並保留移動標記時,
closed 中會存放移動後的目標tid。即當>1時,為被移動,=1時為被關閉,=0時普通帖子
cdb_usergroups
數據表功能介紹:用戶組主信息表。
groupid--smallint(6)--用戶組ID編號
type--enum('system', 'special', 'member')--用戶組類型(即三種:系統管理組、特別用戶組、普通
會員組)
grouptitle--char(30)--用戶組頭銜
credithigher--int(10)--積分大於
creditlower--int(10)--積分小於
stars--tinyint(3)--星星數
color--char(7)--頭銜顏色
groupavatar--char(60)--組頭像
allowstatus--tinyint(1)--是否允許自定義頭銜
allowavatar--tinyint(1)--是否允許自定義頭像
allowvisit--tinyint(1)--是否允許訪問論壇
allowview--tinyint(1)--是否允許瀏覽貼子
allowpost--tinyint(1)--是否允許發貼子
allowpostpoll--tinyint(1)--是否允許發投票
allowgetattach--tinyint(1)--是否允許下載附件
allowpostattach--tinyint(1)--是否允許發表附件
allowvote--tinyint(1)--是否允許參與投票
allowsearch--tinyint(1)--是否允許使用搜索功能
allowkarma--tinyint(1)--是否允許對用戶評分
allowinvisible--tinyint(1)--是否允許隱身
allowsetviewperm--tinyint(1)--是否允許設置貼子許可權(即設置積分查看)
allowsetattachperm--tinyint(1)--是否允許設置附件許可權
allowhidecode--tinyint(1)--是否允許使用HIDE代碼
allowsigbbcode--tinyint(1)--是否允許Discuz!代碼
allowsigimgcode--tinyint(1)--是否允許IMG代碼
allowviewstats--tinyint(1)--是否允許查看統計
maxpmnum--smallint(6)--最大簡訊收件箱容量
maxsigsize--smallint(6)--最大簽名位元組數
maxkarmarate--tinyint(3)--最大評分數
maxrateperday--smallint(6)--每日最多評分數
maxattachsize--int(10)--附件上傳最大尺寸
attachextensions--char(255)--允許的附件類型
cdb_words
數據表功能介紹:不良詞語過濾。
id--smallint(6)--每項自動產生的ID編號
admin--varchar(15)--操作人記錄
find--varchar(60)--找到的不良詞語
replacement--varchar(60)--替換不良詞語的內容
請看這三個帖子,注意第二個:
http://hi..com/beijian/blog/item/97bccd5cbda54245faf2c05e.html
http://dlgyhqlc.blog.163.com/blog/static/1102406582009384205427/
http://www.39it.com.cn/thread-408-1-1.html
3. 論壇中用於存儲用戶發帖內容的資料庫表的表名暴露在網址中會不會很危險
存在安全隱患,
4. 如何將論壇資料庫中的兩個表合並到其中一個表
如果另一個庫中沒有同名的表
select * into b資料庫.dbo.a表 from a資料庫.dbo.a表 where 條件
如果是追加到另一個表中
inert into b資料庫.dbo.a表
select * from a資料庫.dbo.a表 where 條件
不同資料庫的格式: [資料庫名.所有者名.表名]
INSERT INTO 資料庫B.dbo.表2
SELECT * FROM 資料庫A.dbo.表1 WHERE ....
5. 論壇的資料庫怎麼設計
常用的論壇設計方法,總結如下:
一 分割思想:
1 資料庫切分:用戶庫、主題庫、回復庫
2 數據表水平切分:用戶庫1-n、主題庫1-n、回復庫1-n (比如按時間分)
3 分布式資料庫:每台計算機中都有DBMS的一份完整拷貝副本,並具有自己局部的資料庫,位於不同地點的許多計算機通過網路互相連接,共同組成一個完整的、全局的大型資料庫。
4 論壇功能可以進行分隔,不同的伺服器負責不同的功能
5 用主從資料庫,master是寫, slave是讀
6 把內容與其它信息分開,好處就是可以讓每個表的文件最小化,對資料庫操作壓力會減小,這樣保證每張表數據量很小,操作速度會快,也可以在這里使用緩存
二 索引:
針對是否建立索引有著一定的分歧:
我覺得建立索引還是很有必要的。理由如下:
1)建立索引可以加快檢索速度,對於論壇讀和寫的比例相差很大,用戶體驗當然是讀多寫少,所以綜合考慮還是要用索引,而且是加在常用的讀關鍵字上。
2)索引之所以會降低更新的速度,是因為更新還包括對索引的更新,從更新帖子10萬左右,這句話是說,我們可能對發帖標題,發帖內容,回復標題,回復內容這4個欄位做更新。需要注意的是,這四個欄位並不是用來建立表連接的欄位,為了優化查詢速度我們不會在這四個欄位上建立索引,所以從這道題目出發,我們建立的索引不會影響更新帖子的性能。只要被索引的列(例如回復表的標題ID)不被頻繁更新,即使索引所在地行的其它列被頻繁update,索引也不會被更新從而產生性能消耗,一張表一天30萬次的索引更新,因它引起的性能消耗小到即使資料庫安裝在奔騰3單核CPU下都能輕松承擔下來。
3)對於更新的速度慢的問題,我們有解決的方法,你提交更新了後,前台可以讓程序返回一個正確結果,後台開個線程非同步慢慢跟新資料庫就是了,反正更新成功的前提就是假設資料庫連接永遠正確並處於可靠狀態。在資料庫和用戶之間建立一個緩沖區。(如,將更新的數據放到內存中,達到一定數量的時候再統一更新資料庫。假如以100條為例,一旦內存中達到100條數據量將這100條數據統一入庫。減少insert操作)
三 緩沖:
讀的時候的緩沖:緩存路由表
主題緩存表(這個取每個區的前面100條記錄),一般來說負載最大的就是主題的第一頁,所以緩存表是個小表。
另外使用hibernate,在資料庫上面加了一層緩存。
生成靜態頁,緩存最熱,最新的帖子。
對於經常更新的數據都設計成單獨表 ,這樣可以最大程度的利用hibernate緩存
緩存常用的數據和表,利用緩存來將經常被訪問的帖子留在內存中,為每條緩存的記錄添加一個訪問時間,如果長時間沒被訪問就從緩存中刪除掉,
避免內存過大,每次用戶看帖的時候,首先檢索緩存中時候有需要的帖子,沒有的話再訪問資料庫,然後將資料庫返回的帖子信息存儲到緩存中。
寫的時候的緩沖:資料庫和用戶之間建立緩存,將更新的數據放在內存中,非同步操作的。所有的寫貼操作 放到一個隊列然後批量執行插入資料庫操作。
預估計的緩沖:假如用戶第一次打開某標題,那將此標題的相關的前100條數據緩存到客戶斷。這樣避開對資料庫的直接查詢,減少資料庫壓力。
四 代碼優化
1盡量避免表的連接約束通過代碼來實現約束 例如用戶id的驗證在用戶登錄時驗證這樣就可以把帖子表的用戶id外鍵去掉這樣就成了單表操作、查詢 而連接可以通過觸發來實現這樣最多是查詢了3個表而不是連接中的笛卡爾笛卡爾積 回復表的查詢限定每次查詢的記錄數例如限定10條其它的通過點擊觸發來操作"注代碼優化容易出現bug 原因有些開發工具本身有優化"
五 資料庫性能調優
盡量用硬體來代替軟體優化 原則就是能用硬體的盡量用硬體 比如磁碟陣列 RAID0 有條件用RAID10 加大內存 .避免小表上建索引 對論壇來說數據帖子和回復不是很重要 可以定期刪除一些垃圾帖子 樓主說的幾百萬條記錄的論壇對現在的資料庫管理系統和計算機來說永不著刻意的優化,定期維護打包備份資料庫就可以了
提高速度的關鍵:
1.建立合理的索引並在查詢時充分利用;
2.避免使用關聯,這樣避免整表掃描;使用關聯不如多次使用主鍵查詢來的快;
3.一些處理的功能盡可能放到內存中來做,比如組織主題和回復;
4.海量緩存(使用靜態頁面也是個不錯的做法)
5 定期對表進行轉儲
6. 一般BBS論壇的資料庫應該怎樣建啊
設計一個BBS論壇,該系統的用戶分別是:用戶和系統管理員。不同的用戶擁有不同的許可權,各自完成各自的管理功能,不同的用戶看到不同的系統功能。用sql server2000創建後台資料庫,然後利用JSP技術編寫程序實現對資料庫的操作,按照要求完成所有的功能和模塊。
用戶的主要功能模塊包括:
(1)用戶注冊與登陸
(2)查看帖子,查詢歷史帖子
(3)發布帖子
系統管理員的主要功能模塊包括:
(1)用戶管理
(2)後台資料庫維護
(3)論壇信息的分類管理
2、主要資料庫表單
(1)登陸用戶基本信息表單
主要欄位有:用戶編號、用戶呢稱、真實姓名、性別、出生日期、電子信箱
(2)content數據表(每篇文章的詳細信息)
主要欄位有:id編號、文章標題、是否回帖、文章作者、發表時間、正文
(3)board數據表(各個不同討論區信息)
主要欄位有:討論區中文描述名、討論區版主要id、不同討論區文章總數
(4)保存被封id數據表
主要欄位有:id,被查封用戶的id
7. 什麼叫論壇資料庫
[1]嚴格地說,資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
資料庫(11張)
J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。定義2資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。
編輯本段資料庫中數據的性質數據整體性資料庫是一個單位或是一個應用領域的通用數據處理系統,他存儲的是屬於企業和事業部門、團體和個人的有關數據的集合。資料庫中的數據是從全局觀點出發建立的,他按一定的數據模型進行組織、描述和存儲。其結構基於數據間的自然聯系,從而可提供一切必要的存取路徑,且數據不再針對某一應用,而是面向全組織,具有整體的結構化特徵。數據共享性資料庫中的數據是為眾多用戶所共享其信息而建立的,已經擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用資料庫中的數據;多個用戶可以同時共享資料庫中的數據資源,即不同的用戶可以同時存取資料庫中的同一個數據。數據共享性不僅滿足了各用戶對信息內容的要求,同時也滿足了各用戶之間信息通信的要求。
8. 如果建一個論壇,它的資料庫需要建幾個表,大概要那些現在很需要,答好我加分,謝謝!
用戶表
文章表
文章分類表
用戶類型表
評論表
好友表
圖片表
至少這些,欄位自己設置吧。
9. 怎麼才能把一個論壇的資料庫里一張錶快速清空
Truncate Table Truncate是SQL中的一個刪除數據表內容的語句,用法是:
TRUNCATE TABLE [Table Name]。
下面是對Truncate語句在MSSQLServer2000中用法和原理的說明:
Truncate table 表名 速度快,而且效率高,因為:
TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。
DELETE 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日誌中記錄頁的釋放。
TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE 語句。
對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日誌中,所以它不能激活觸發器。
TRUNCATE TABLE 不能用於參與了索引視圖的表。
對用TRUNCATE TABLE刪除數據的表上增加數據時,要使用UPDATE STATISTICS來維護索引信息。
10. discuz7資料庫表存放帖子的那個表叫什麼!
cdb_polls 投票帖資料表
cdb_posts 帖子資料表
具體如下:
cdb_access 用戶許可權表
數據表說明:當某用戶對某些版塊有特定的許可權的時候,該表記錄了該用戶在這些版塊有什麼許可權。
屬性說明:
uid--mediumint(8)--會員的UID編號
fid--smallint(6)--版塊的ID號
allowview--tinyint(1)--是否允許查看貼子
allowpost--tinyint(1)--是否允許發貼
allowreply--tinyint(1)--是否允許回復
allowgetattach--tinyint(1)--是否允許下載附件
allowpostattach tinyint(1) --是否允許上傳附件
cdb_adminactions 管理動作表
數據表說明:管理組管理信息表。
屬性說明:
admingid smallint(6)--管理組組id
disabledactions text--禁止行為
cdb_admingroups 管理組數據表
數據表說明:管理模組信息表。
屬性說明:
admingid--smallint(3)--管理組的ID
alloweditpost tinyint(1)--編輯帖子許可權
alloweditpoll tinyint(1)--編輯投票許可權
allowstickthread tinyint(1)--置頂帖子許可權
allowmodpost tinyint(1)--管理(編輯)帖子許可權#
allowdelpost tinyint(1)--刪除帖子許可權
allowmassprune tinyint(1)--閱讀許可權#
allowrefund tinyint(1)--@
allowcensorword tinyint(1)--過濾詞語設置許可權#
allowviewip tinyint(1)--查看ip許可權
allowbanip tinyint(1)--禁止ip許可權
allowedituser tinyint(1)--編輯用戶許可權#
allowmoser tinyint(1)--管理用戶許可權#
allowbanuser tinyint(1)--禁止用戶許可權
allowpostannounce tinyint(1)--發表公告許可權
allowviewlog tinyint(1)--瀏覽管理日誌許可權
disablepostctrl tinyint(1)--批量管理許可權#
cdb_adminnotes 管理員留言
數據表說明:後台留言信息。
屬性說明:
id mediumint(8)--事件id
admin varchar(15)--操作者
access tinyint(3)--@
adminid tinyint(3)--管理組id
dateline int(10)--日期
expiration int(10)--有效期
message text--留言內容
cdb_adminsessions 管理員後台在線記錄
數據表說明:後台登錄記錄。
屬性說明:
uid mediumint(8) --用戶登錄id
ip char(15)--登錄ip
dateline int(10)--登錄日期
errorcount tinyint(1)--密碼錯誤次數
cdb_advertisements 廣告資料表
數據表說明:廣告信息存儲。
屬性說明:
advid mediumint(8)--廣告id
available tinyint(1)--是否顯示(可用)
type varchar(50)--類型
displayorder tinyint(3)--顯示順序
title varchar(50)--標題
targets text --樣式
parameters text--展放位置#
code text--代碼
starttime int(10) --開始時間
endtime int(10)--結束時間
cdb_announcements 論壇公告資料表
數據表說明:公告信息存儲。
屬性說明:
id smallint(6)--公告id
author varchar(15)--發布者
subject varchar(250)--標題
displayorder tinyint(3)--顯示順序
starttime int(10)--開始時間
endtime int(10) --結束時間
message text--內容
cdb_attachments 附件資料表
數據表說明:附件信息存儲表。
屬性說明:
aid mediumint(8) --附件id
tid mediumint(8) --所在主題id
pid int(10)--所在帖子id
dateline int(10) --上傳/最後更新附件的日期時間
readperm tinyint(3) --閱讀許可權
filename char(100)--上傳時附件的文件名
description char(100)--附件表述
filetype char(50)--附件類型
filesize int(10)--附件大小
attachment char(100)--上傳後的附件的文件名
downloads mediumint(8)--下載次數
cdb_attachtypes 附件類型表
數據表說明:附件類型表。
屬性說明:
id smallint(6)--記錄附件類型設置的ID,每條對應一個ID
extension--char(10)--類型設置時的擴展名
maxsize--int(10)--控制最大上傳大小
cdb_banned 被禁止的ip列表
數據表說明:禁止ip記錄。
屬性說明:
id smallint(6)--被禁ip列表的id
ip1 smallint(3)
ip2 smallint(3)
ip3 smallint(3)
ip4 smallint(3)被禁ip地址的ip段,1,2,3,4表示ip的四段
admin varchar(15)--操作者記錄
dateline int(10)--日期
expiration int(10)--有效期
cdb_bbcodes bb代碼資料表
數據表說明:Discuz代碼信息表。
屬性說明:
id--mediumint(8)--標簽的ID
available--tinyint(1)--是否可用
tag--varchar(100)--標簽名稱
replacement--text--替換內容
example--varchar(255)--例子
explanation--text--解釋說明
params--tinyint(1)--參數個數
nest--tinyint(3)--嵌套次數
cdb_blogcaches 博客緩存表
數據表說明:blog緩存。
屬性說明:
uid mediumint(8)--用戶id
variable varchar(10)--@
value text--@
cdb_buddys 好友信息表
數據表說明:會員的好友列表。
屬性說明:
uid--mediumint(8)--用戶的UID編號
buddyid--mediumint(8)--會員所加好友的好友UID編號
dateline int(10)--加入時間
description char(255)--備注
cdb_creditslog 積分交易記錄表
數據表說明:積分交易日誌。
屬性說明:
uid mediumint(8)--用戶id
fromto char(15)--來自
sendcredits tinyint(1)--支出積分
receivecredits tinyint(1)--收入積分
send int(10)--@
receive int(10)--@
dateline int(10)--交易時間
operation char(3)--交易動作
cdb_crons 計劃任務表
數據表說明:計劃任務存儲。
屬性說明:
cronid smallint(6)--計劃任務id
available tinyint(1)--是否可用
type enum('user','system')--類型(內置或者自定義)
name char(50)--名稱
filename char(50)--任務腳本名稱
lastrun int(10)--上次運行時間
nextrun int(10)--下次運行時間
weekday tinyint(1)--周
day tinyint(2)--天
hour tinyint(2)--小時
minute char(36)--分鍾
cdb_failedlogins 錯誤登錄記錄
數據表說明:後台登錄錯誤。
屬性說明:
ip--char(15)--非法登入者的IP
count--tinyint(1)--登入的次數
lastupdate--int(10)--最後更新日期
cdb_favorites 個人收藏信息表
數據表說明:收藏夾存儲表。
屬性說明:
uid--mediumint(8)--用戶的UID編號
tid--mediumint(8)--會員收藏主題的主題ID
cdb_forumfields 板塊擴展信息數據表
數據表說明:論壇版塊一般塊信息存儲。
屬性說明:
fid smallint(6)--版塊id
description text--版塊描述
`password` varchar(12)--訪問版塊所需密碼
icon varchar(255)--版塊圖標
postcredits varchar(255)--自定義主題積分
replycredits varchar(255)--自定義回復積分
redirect varchar(255)--鏈接轉向地址
attachextensions varchar(255)--允許附件類型#
moderators text --版主
rules text --版規
threadtypes text--主題分類
viewperm text--瀏覽帖子許可權
postperm text--發表主題許可權
replyperm text--發表回復許可權
getattachperm text --下載附件許可權
postattachperm text --上傳附件許可權
cdb_forumlinks 友情鏈接數據表
數據表說明:聯盟論壇信息存儲。
屬性說明:
id smallint(6)--聯盟論壇id
displayorder tinyint(3)--顯示順序
name varchar(100)--聯盟論壇名稱
url varchar(100)--聯盟論壇地址
note varchar(200)--聯盟論壇說明
logo varchar(100)--logo地址
cdb_forums 版塊資料表
數據表說明:論壇版塊主信息存儲表。
屬性說明:
fid smallint(6)--論壇版塊id
fup smallint(6)--上級論壇id
`type` enum('group','forum','sub')--論壇類型
`name` char(50)--論壇名稱
`status` tinyint(1)--是否顯示
displayorder tinyint(3)--顯示順序
styleid smallint(6)--默認風格
threads mediumint(8)--主題信息統計
posts mediumint(8)--帖子信息統計
todayposts mediumint(8)--今日帖子統計
lastpost char(110)--最新帖子
allowsmilies tinyint(1)--是否允許表情
allowhtml tinyint(1)--是否允許html
allowbbcode tinyint(1)--是否允許自定義ubb
allowimgcode tinyint(1)--是否允許[img]代碼
allowanonymous tinyint(1)--是否允許匿名發貼
allowblog tinyint(1)--是否允許加入blog
allowtrade tinyint(1)--是否允許交易
alloweditrules tinyint(1)--是否允許版主編輯規則
recyclebin tinyint(1)--是否開啟回收站
modnewposts tinyint(1)--是否開啟審核新帖
jammer tinyint(1)--是否啟用干擾碼
disablewatermark tinyint(1)--是否禁止使用水印
inheritedmod tinyint(1)--是否自動關閉主題
autoclose smallint(6)--主題自動關閉天數
cdb_medals 勛章資料表
數據表說明:勛章信息存儲。
屬性說明:
medalid smallint(6)--勛章id
`name` varchar(50)--勛章名稱
available tinyint(1)--是否可用
image varchar(30)--勛章圖片
cdb_memberfields 用戶(10)論壇資料庫表擴展閱讀表
數據表說明:用戶基本信息存儲表。
屬性說明:
uid mediumint(8)-- 用戶uid
nickname varchar(30)--用戶昵稱
site varchar(75)--用戶主頁
alipay varchar(50)--支付寶號碼
icq varchar(12)--icq號碼
qq varchar(12)--qq號碼
yahoo varchar(40)--yahoo通號碼
msn varchar(40)--msn號碼
taobao varchar(40)--淘寶帳號
location varchar(30)--來自
customstatus--自定義頭銜
medals varchar(255)--勛章信息
avatar varchar(255)--頭像信息
avatarwidth tinyint(3)--頭像寬度
avatarheight tinyint(3)--頭像高度
bio text--
signature text --簽名
sightml text--
ignorepm text--忽略短消息列表
groupterms text--
authstr varchar(20)--
cdb_members 用戶基本資料表
數據表說明:用戶主數據表:存儲關鍵信息。
屬性說明:
uid mediumint(8)--用戶uid
username char(15)--用戶名稱id
`password` char(32)--用戶密碼
secques varchar(80)--安全提問
gender tinyint(1)--性別
adminid tinyint(1)--管理許可權id
groupid smallint(6)--用戶組id
groupexpiry int(10)--主用戶組
extgroupids--拓展用戶組
regip char(15)--注冊ip
regdate int(10)--注冊日期
lastip char(15)--上次登錄ip
lastvisit int(10)--上次訪問時間
lastactivity int(10)--
lastpost int(10)--最後發表
posts mediumint(8)--貼子數
digestposts smallint(6)--精華數
oltime smallint(6)--在線時間
pageviews mediumint(8)--頁面訪問量
credits int(10)--積分
extcredits1 int(10)
extcredits2 int(10)
extcredits3 int(10)
extcredits4 int(10)
extcredits5 int(10)
extcredits6 int(10)
extcredits7 int(10)
extcredits8 int(10)---拓展積分1-8
avatarshowid int(10)--天下秀id
email char(50)--email信息
bday date--生日
sigstatus tinyint(1)--自我介紹
tpp--tinyint(3)--顯示每頁主題數的數量
ppp--tinyint(3)--顯示每個主題的回復數的數量
styleid--smallint(6)--所選風格的ID
dateformat char(10)--日期格式
timeformat tinyint(1)--時間格式
pmsound tinyint(1)--短消息提示方式
showemail tinyint(1)--是否顯示email
newsletter tinyint(1)--是否接收論壇通知
invisible tinyint(1)--是否隱身
timeoffset char(4)--時區時差設置
newpm tinyint(1)--是否新短消息並提示【同意接收論壇通知】
accessmasks tinyint(1)--表示該用戶是否對某些板塊指定了特別的許可權
cdb_moderators 版主信息數據表
數據表說明:版主信息存儲。
屬性說明:
uid mediumint(8)--版主用戶uid
fid smallint(6)--所管轄版塊fid
displayorder tinyint(3)--顯示順序
inherited tinyint(1)--是否繼承許可權#
CODE:[Copy to clipboard]cdb_admingroups
allowmodpost tinyint(1)--允許審核帖子
allowmassprune tinyint(1)--批量刪帖
allowrefund tinyint(1)--退款
allowcensorword tinyint(1)--過濾詞語
allowedituser tinyint(1)--編輯用戶
allowmoser tinyint(1)--審核用戶
disablepostctrl tinyint(1)--發帖不受限制
cdb_modworks 版主工作記錄表
cdb_onlinelist 在線列表定製
cdb_onlinetime 用戶在線時間信息表
cdb_orders 訂單數據表
cdb_paymentlog 支付記錄
cdb_pluginhooks 插件鉤子表
cdb_plugins 插件表
cdb_pluginvars 插件配置表
cdb_pms 簡訊資料表
cdb_pmsearchindex 短消息搜索緩存表
cdb_polls 投票帖資料表
cdb_posts 帖子資料表
cdb_profilefields 用戶欄目定製
cdb_promotions 論壇推廣
cdb_ranks 頭銜表
cdb_ratelog 帖子評分記錄表
cdb_regips 注冊ip記錄表
cdb_relatedthreads 相關主題
cdb_rsscaches RSS緩存
cdb_searchindex 搜索緩存
cdb_sessions 在線表
cdb_settings 論壇設置表
cdb_smilies 表情信息表
cdb_stats 統計數據表
cdb_statvars 統計變數表
cdb_styles 風格
cdb_stylevars 風格變數表
cdb_subscriptions 訂閱信息表
cdb_templates 模板
cdb_threads 主題資料表
cdb_threadsmod 主題管理記錄表
cdb_threadtypes 主題分類表
cdb_usergroups 用戶組數據表
cdb_validating 等待人工審核的會員記錄
cdb_words 詞語過濾表