论坛数据库表
在控制台根目录下打开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 词语过滤表