MYSQL性能调优及架构设计-影响MYSQL性能的相关因素之实例分析_MySQL
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
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在VirtualBox中嘗試開啟磁碟映像時,可能會遇到錯誤提示,指示硬碟無法註冊。這種情況通常發生在您嘗試開啟的VM磁碟映像檔與另一個虛擬磁碟映像檔具有相同的UUID。在這種情況下,VirtualBox會顯示錯誤代碼VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)。如果您遇到這個錯誤,不必擔心,有一些解決方法可以嘗試。首先,您可以嘗試使用VirtualBox的命令列工具來變更磁碟映像檔的UUID,這可以避免衝突。您可以執行命令`VBoxManageinternal

飛航模式別人打電話會怎麼樣手機已經成為人們生活中不可或缺的工具之一,它不僅是通訊工具,也是娛樂、學習、工作等多種功能的集合體。隨著手機功能的不斷升級和改進,人們對於手機的依賴也越來越高。在飛航模式出現後,人們可以更方便地在飛行中使用手機。但是,有人擔心在飛航模式下別人打電話的情況會對手機或使用者產生什麼樣的影響呢?本文將從幾個方面進行分析和討論。首先

Java是一種常用的程式語言,用於開發各種應用程式。然而,就像其他程式語言一樣,Java也存在安全漏洞和風險。其中一個常見的漏洞是檔案包含漏洞(FileInclusionVulnerability),本文將探討檔案包含漏洞的原則、影響以及如何防範這種漏洞。文件包含漏洞是指在程式中透過動態引入或包含其他文件的方式,但卻沒有對引入的文件做充分的驗證和防護,從

在抖音平台上,使用者不僅可以分享自己的生活點滴,還可以與其他使用者互動交流。有時候評論功能可能會引發一些不愉快的經歷,如網路暴力、惡意評論等。那麼,如何關閉抖音評論功能呢?一、如何關閉抖音評論功能? 1.登入抖音APP,進入個人首頁。 2.點選右下角的“我”,進入設定選單。 3.在設定選單中,找到「隱私設定」。 4.點選“隱私設定”,進入隱私設定介面。 5.在隱私設定介面,找到「評論設定」。 6.點選“評論設定”,進入評論設定介面。 7.在評論設定介面,找到「關閉評論」選項。 8.點選「關閉評論」選項,確認關閉評論

資料稀缺對模型訓練的影響問題,需要具體程式碼範例在機器學習和人工智慧領域,而資料是訓練模型的核心要素之一。然而,現實中我們經常面臨的一個問題是資料稀缺。資料稀缺指的是訓練資料的量不足或標註資料的缺乏,這種情況下會對模型訓練產生一定的影響。資料稀缺的問題主要體現在以下幾個方面:過度擬合:當訓練資料量不夠時,模型很容易出現過擬合的現象。過擬合是指模型過度適應訓練數據,

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

機箱漏電對電腦有什麼影響隨著科技的不斷進步,電腦已漸漸成為人們生活中不可或缺的工具,無論是工作、學習或娛樂,都離不開電腦的使用。然而,就在我們享受電腦帶來便利的同時,我們也需要注意它的安全性。機箱漏電是一種潛在的問題,如果不及時處理,可能會對電腦和使用者產生嚴重的影響。首先,機箱漏電會對電腦硬體造成損害。電腦的主機板、電源、內部線路等零件都在機殼內,一旦機殼

為了圖便宜可能有些用戶會考慮入手礦卡,這些卡畢竟是頂級的顯示卡,但是也有部分遊戲玩家很擔心礦卡打遊戲有什麼影響,下面就看看具體的介紹吧。礦卡打遊戲有什麼影響:1.礦卡打遊戲沒辦法保證穩定性,因為礦卡的壽命很短很可能玩玩就廢了。 2.礦卡基本上等於原版的閹割版,由於長期的損耗,各方面性能可能都弱了。 3.這樣用戶在玩遊戲的時候可能就不能將遊戲的效果全部展示了。 4.而且顯示卡的電子元件都會提前的老化,更何況打遊戲也很消耗顯示卡,因此等於更大程度上的來將其榨乾,因此對遊戲的影響是很大的。 5.總的來說,使用礦卡打遊
