bitsCN.com
需求概述
一个简单的讨论区系统,需要有用户,用户组,组讨论区这三部分基本功能
简要分析
1) 须要存放用户数据的表;
2) 须要存放分组信息和用户与组关系的表;
3) 须要存放讨论信息的表
解决方案
原始方案一:
分别用4个表来存放用户,用户组,用户与组关系,以及各组的讨论帖子的信息。
user用户表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
nick_name
varchar(32)
NO
NULL
password
char(64)
YES
NULL
varchar(32)
NO
NULL
status
varchar(16)
NO
NULL
sexuality
char(1)
NO
NULL
msn
varchar(32)
YES
NULL
sign
varchar(64)
YES
NULL
brithday
date
YES
NULL
hobby
varchar(64)
YES
NULL
location
varchar(64)
YES
NULL
description
varchar(1024)
YES
NULL
groups分组表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
gmt_create
datetime
NO
NULL
gmt_modified
datetime
NO
NULL
name
varchar(32)
NO
NULL
status
varchar(16)
NO
NULL
description
varchar(1024)
YES
NULL
user_group关系表
Field
Type
Null
Key
Default
Extra
user_id
int(11)
NO
MUL
NULL
group_id
int(11)
NO
MUL
NULL
user_type
int(11)
NO
NULL
gmt_create
datetime
NO
NULL
gmt_modified
datetime
NO
NULL
status
varchar(16)
NO
NULL
group_message讨论组帖子表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
NULL
gmt_create
datetime
NO
NULL
gmt_modified
datetime
NO
NULL
group_id
int(11)
NO
NULL
user_id
int(11)
NO
NULL
subject
varchar(128)
NO
NULL
content
text
YES
NULL
优化后方案二如下
user用户表分成user用户表与user_profile表
group_message讨论组表分成group_message讨论组与group_message_content
user用户表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
nick_name
varchar(32)
NO
NULL
password
char(64)
YES
NULL
varchar(32)
NO
NULL
status
varchar(16)
NO
NULL
user_profile用户属性表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
sexuality
char(1)
NO
NULL
msn
varchar(32)
YES
NULL
sign
varchar(64)
YES
NULL
brithday
date
YES
NULL
hobby
varchar(64)
YES
NULL
location
varchar(64)
YES
NULL
description
varchar(1024)
YES
NULL
group_message讨论组帖子表
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
NULL
gmt_create
datetime
NO
NULL
gmt_modified
datetime
NO
NULL
group_id
int(11)
NO
NULL
user_id
int(11)
NO
NULL
subject
varchar(128)
NO
NULL
author
varchar(32)
NO
NULL
group_message_content帖子内容表
Field
Type
Null
Key
Default
Extra
group_msg_id
int(11)
NO
content
text
NO
NULL
分析考虑:
1. 从实际出发,一个讨论区系统,访问最多的页面应该是帖子标题列表页面。而帖子标题列表页面最主要的信息都来自于group_message表中,同时帖子标题后面的作者一般都是通过用户名(昵称)来展示。因此:
1) 按照第一种解决方案:
SELECT t.id, t.subject, user.id, u.nick_name
FROM
(
SELECT id, user_id, subject
FROM group_message
WHERE group_id = ?
ORDER BY gmt_modified DESC LIMIT 20
) t, user u
WHERE t.user_id = u.id
2) 按照第二种解决方案:
SELECT t.id, t.subject, t.user_id, t.author
FROM group_message t
HWERE group_id = ?
ORDER BY gmt_modified DESC LIMIT 20
两个查询一比较,打搅就能很明显地看出谁优谁劣了。
2. 由于第一方案中的group_message 表中还包含一个大字段’content’,该字段存放的信息要占整个表的绝大部分存储空间,但在1中表现的最频繁的Query完全不需要该字段所存放的信息,所以,造成了Query读取大量没有任何意义的数据。因此,需要把content字段单独分出来存放在group_message_content帖子内容表中。
作者”邪恶的小Y的博客“
bitsCN.com
飞行模式别人打电话会怎么样手机已经成为人们生活中必不可少的工具之一,它不仅仅是通信工具,还是娱乐、学习、工作等多种功能的集合体。随着手机功能的不断升级和改进,人们对于手机的依赖性也越来越高。在飞行模式出现后,人们可以更方便地在飞行中使用手机。但是,有人担心在飞行模式下别人打电话的情况会对手机或者使用者产生什么样的影响呢?本文将从几个方面来进行分析和讨论。首先

Java是一种常用的编程语言,用于开发各种应用程序。然而,就像其他编程语言一样,Java也存在安全漏洞和风险。其中一个常见的漏洞是文件包含漏洞(FileInclusionVulnerability),本文将探讨文件包含漏洞的原理、影响以及如何防范这种漏洞。文件包含漏洞是指在程序中通过动态引入或包含其他文件的方式,但却没有对引入的文件做充分的验证和防护,从

数据稀缺对模型训练的影响问题,需要具体代码示例在机器学习和人工智能领域,数据是训练模型的核心要素之一。然而,现实中我们经常面临的一个问题是数据稀缺。数据稀缺指的是训练数据的量不足或标注数据的缺乏,这种情况下会对模型训练产生一定的影响。数据稀缺的问题主要体现在以下几个方面:过拟合:当训练数据量不够时,模型很容易出现过拟合的现象。过拟合是指模型过度适应训练数据,

硬盘坏道是指硬盘的物理故障,即硬盘上的储存单元无法正常读取或写入数据。坏道对硬盘的影响是非常显著的,它可能导致数据丢失、系统崩溃和硬盘性能下降等问题。本文将会详细介绍硬盘坏道的影响及相关解决方法。首先,硬盘坏道可能导致数据丢失。当硬盘中的某个扇区出现坏道时,该扇区上的数据将无法读取,从而导致文件损坏或无法访问。这种情况尤其严重,如果坏道所在的扇区中存储了重要

为了图便宜可能有些用户会考虑入手矿卡,这些卡毕竟是顶级的显卡,但是也有部分游戏玩家很担心矿卡打游戏有什么影响,下面就看看具体的介绍吧。矿卡打游戏有什么影响:1、矿卡打游戏没法保证稳定性,因为矿卡的寿命很短很可能玩玩就废了。2、矿卡基本上等于原版的阉割版,由于长期的损耗,各方面性能可能都弱了。3、这样用户在玩游戏的时候可能就不能将游戏的效果全部展示了。4、而且显卡的电子元件都会提前的老化,更何况打游戏也很消耗显卡,因此等于更大程度上的来将其榨干,因此对游戏的影响是很大的。5、总的来说,使用矿卡打游

有些用户发现电脑提示ipv6无网络访问权限,但自己也可以正常上网,因此有些用户不知道ipv6无网络访问权限有什么影响,现在就给大家介绍一下具体的情况。ipv6无网络访问权限有什么影响答:ipv6无网络访问权限没有什么影响。这个情况说明交换机或者是路由器对于IPV6协议是关闭的,但对于我们日常使用时没有什么影响的,而且一般的话也不需要开启这个。都是根据自己的需要来开启的。IPV6扩展阅读:1、IPV6是互联网协议第6版的缩写,是用来替代IPV4的下一代IP协议。2、IPV6的地址数量号称可以给沙子

一个电脑的运行好坏基本上都和他的显卡有着非常大的影响,一部分用户对于显卡不是很了解,也不清楚显卡到底对电脑的哪些方面会有影响,为了方便大家观看,这里就给大家介绍一下显卡配置低的一些影响。显卡配置低的影响什么答:1、一些大型的3D类型的游戏无法运行。2、播放一些高清视频的时候电脑会有很大的压力。3、对于一些比较专业的软件,需要进行绘图和3D模型渲染时没有办法很好运行。4、显卡的配置低,那就会导致游戏打不开,或者频繁地闪退卡顿和卡死,电脑也会花屏,蓝屏。5、游戏里面最重要的就是显卡了,因为很多画面需

机箱漏电对电脑有什么影响随着科技的不断进步,电脑已渐渐成为人们生活中必不可少的工具,无论是工作、学习或娱乐,都离不开电脑的使用。然而,就在我们享受电脑带来便利的同时,我们也需要关注它的安全性。机箱漏电是一种潜在的问题,如果不及时处理,可能会对电脑和使用者产生严重的影响。首先,机箱漏电会对电脑硬件造成损害。电脑的主板、电源、内部线路等零部件都在机箱内,一旦机箱


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

Notepad++7.3.1
Easy-to-use and free code editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools
