php discuz 主题表和回帖表的设计
以下内容仅摘录部分:
如果由我们来设计主题表和回帖表,通常的做法是如下。
这样在获取主题列表时,直接使用分页算法提取Topics;查看某一帖子时,还需要对Topics,Posts进行jion链接。
此种设计的缺陷为:
1. Topics表存储Content的内容,其体积将会很大,对大体积表进行分页,性能很慢。
2. 显示Posts内容时将进行join操作,损耗性能
而Discuz的做法是进行如下设计。
将Topics里的Content拆分到Posts中去,同时Topics的主题帖也作为回帖放置到Posts里面,这样就解决了上面我们提出的两个问题。这是典型的违反数据库设计范式以换取更好性能的示例。
相关推荐
-
JS实现的论坛Ajax打分效果完整实例
本文实例讲述了JS实现的论坛Ajax打分效果.分享给大家供大家参考,具体如下: 这是论坛常见的一种Ajax打分效果,使用了Discuz老版论坛的就有此种效果,目前有很多网站也有类似的,分享给大家吧,我觉得非常实用的Ajax评分效果,使用了一个背景图片,自己可以下载. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-dicuz-ajax-df-plugs-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//
-
python实现的登陆Discuz!论坛通用代码分享
代码如下: #coding:gbk import urllib2,urllib,cookielib,re ''' 通用的登陆DZ论坛 参数说明parms: username:用户名(必填), password :密码(必填), domain:网站域名,注意格式必须是:http://www.xxx.xx/(必填), answer:问题答案, questionid:问题ID, referer:跳转地址 这里使用了可变关键字参数(相关信息可参考手册) ''' def login_dz(**parms)
-
php通过curl模拟登陆DZ论坛
libcurl同时也支持HTTPS认证.HTTP POST.HTTP PUT. FTP 上传(这个也能通过PHP的FTP扩展完成).HTTP 基于表单的上传.代理.cookies和用户名+密码的认证. <?php $discuz_url = 'http://www.jb51.net/';//论坛地址 $login_url = $discuz_url .'login.php?action=login';//登录页地址 $post_fields = array(); //以下两项不需要修改 $pos
-
Java模拟HTTP Get Post请求 轻松实现校园BBS自动回帖
本文实例为大家分享了Java模拟HTTP Get Post请求,校园BBS自动回帖功能,供大家参考,具体内容如下 设计思路 找到帖子链接的集合,最后面数字变化, 就可以得到不同的帖子 防止帖子发表会又被删了的情况, 进行判断帖子是否存在 遍历这个集合, 对每个链接做回帖的POST请求 重难点 Note: 回帖需要用户登录信息 一种是利用Cookie 另一种是进行模拟登录 本文采用前者 代码 代码比较简单,注意事项是找到自己的Cookie,赋给String yourCookeie就可以直接运行 主
-
java发送http的get、post请求实现代码
Http请求类 package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public
-
Java模拟HTTP Get Post请求实现论坛自动回帖功能
最近想自动发帖回帖,拿某论坛试验了一下,发现可行,不过后续没有再使用,以免影响论坛正常运行. 1.帖子链接的格式为 http://bbs.***.***.**/forum.php?mod=viewthread&tid=774210 最后面774210数字变化, 就可以得到不同的帖子 2.防止帖子发表会又被删了的情况, 进行判断帖子是否存在 3.递增后面的 id 数字, 对每个链接做回帖的 POST 请求 重难点 回帖需要用户登录信息 一种是利用Cookie 另一种是进行模拟登录 本文采用前者 判
-
java实现http的Post、Get、代理访问请求
本文实例讲解了java实现http的Post.Get.代理访问请求的详细代码片段,分享给大家供大家参考,具体内容如下 package com.snowfigure.kits.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; im
-
js实现改进的仿蓝色论坛导航菜单效果代码
本文实例讲述了js实现改进的仿蓝色论坛导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款改进的仿蓝色论坛导航菜单,滑动门级的导航菜单,网址跟踪链接的JS导航菜单,可以支持二级的菜单.为改善用户体验,加了延时.其原理是将链接地址和网址比较,如果一致,则加强该链接和上级链接的显示. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-f-blue-color-style-bbs-menu-codes/ 具体代码如下: <html> &l
-
PHPWind 发帖回帖Api PHP版打包下载
发帖演示: 次数: 5 地址: http://localhost/Test/upload/post.php?fid=5 完成时间: 2010-02-04 05:49:27 [ 发帖完毕点击进入主题列表 ] 灌水预防机制已经打开,在5秒内不能发帖 [ 发帖完毕点击进入主题列表 ] 灌水预防机制已经打开,在5秒内不能发帖 [ 发帖完毕点击进入主题列表 ] 共发送5次. 回帖演示: 次数: 5 地址: http://localhost/Test/upload/read.php?tid=41&page=
-
java使用httpclient模拟post请求和get请求示例
复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;import org.apache.commons.httpclient.Header;import org
随机推荐
- 详解如何在Vue2中实现组件props双向绑定
- iOS中UITableview错位的问题怎么修复
- 彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题
- SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
- 浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别
- 深入浅析 C++ 调用 Python 模块
- MySQL 主键与索引的联系与区别分析
- javascript随机显示背景图片的方法
- 关于webpack代码拆分的解析
- 关于Ajax请求中传输中文乱码问题的解决方案
- HTML技巧汇编
- 效应论 破窗效应 蝴蝶效应 近因效应 青蛙效应
- VBScript的入门学习资料
- 非常好用的sql语句(日常整理)
- jQuery里filter()函数与find()函数用法分析
- Android简单实现自定义流式布局的方法
- 用sc删除mysql服务技巧
- yii2简单使用less代替css示例
- Android 自定义弹出框实现代码
- mysql 5.7.23 安装配置图文教程