关灯
开启左侧

Discuz附件分表优化

  [复制链接]
admin实名认证 发表于 2017-3-15 00:13:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
DiscuzX2附件分表优化




*************************************************

本教程基于版本:Discuz! X 2.0

*************************************************

相对于Discuz!X1.5和之前的Discuz!版本,Discuz!X2.0在附件表上做了分表优化,之前单一附件表结构,如果附件非常多。对服务器的负载要求会很大,在充分考虑附件表结构优化后,Discuz!X2.0对附件表进行了预先分表,合并forum_attachmentfield表,新增forum_attachment_0~9 十个表。这十个表的中0~9的规则为对应tid的个位数字,forum_attachment表作为了附件索引表。在上传附件时,会获取当前版块、主题id,用到getattachtablebytid()函数,添加一个新的附件索引记录,并返回新附件 id。在获取附加时,会先到forum_attachment索引表中搜索相关索引,如果存在,则直接通过tableid获取相应表中的附件信息,在附件相当多的情况下,大大节约了表查询的时间,减轻服务器负载。有新附件时附件记录表先创建索引表然后获取到aid,再插入到attachment_0~9中,包括附件下载次数。附件记录表信息为:
  • aid '附件id',
  •   tid  '主题id',
  •   pid '帖子id',
  •   tableid '附件表id',
  •   downloads '下载次数',
  •   PRIMARY KEY (aid),
  •   KEY tid (tid),
  •   KEY pid (pid)


forum_attachment_0~9表各字段为:
  • //id
  •   aid '附件id',
  •   tid '主题id',
  •   pid '帖子id',
  •   uid '会员id',
  •   //基本属性
  •   dateline '上传时间',
  •   filename '原文件名',
  •   filesize '文件大小',   
  •   attachment '服务器路径',
  •   remote '是否远程附件',
  •   description '说明',
  •   //附属属性
  •   readperm '阅读权限',
  •   price '附件价格',
  •   //图片属性
  •   isimage '是否图片',
  •   width '附件宽度',
  •   thumb '是否是缩率图',
  •   picid '相册图片ID ',
  •   //索引
  •   PRIMARY KEY (aid),
  •   KEY tid (tid),
  •   KEY pid (pid),
  •   KEY uid (uid)
  • ) ENGINE=MyISAM '附件表';



 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地