欢迎来到天天文库
浏览记录
ID:62304740
大小:52.50 KB
页数:13页
时间:2021-04-26
《【黑马程序员】MySQL的性能调优二.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、优选【黑马程序员】MySQL的性能调优二一、Schema 设计对系统的性能影响 前面,我们已经分析了在一个数据库应用系统的软环境中应用系统的架构实现和系统中与数据库交互的SQL语句对系统性能的影响。在这一节我们再分析一下系统的数据模型设计实现对系统的性能影响,更通俗一点就是数据库的Schema设计对系统性能的影响。 在很多人看来,数据库Schema设计是一件非常简单的事情,就大体按照系统设计时候的相关实体对象对应成一个一个的表格基本上就可以了。然后为了在功能上做到尽可能容易扩展,再根据数据库X式规则进行调整,做到第
2、三X式或者第四X式,基本就算完事了。 数据库Schema设计真的有如上面所说的这么简单么?可以非常肯定的告诉大家,数据库Schema设计所需要做的事情远远不止如此。如果您之前的数据库Schema设计一直都是这么做的,那么在该设计应用于正式环境之后,很可能带来非常大的性能代价。由于在后面的“MySQL数据库应用系统设计”中的“系统架构最优化“这一节中会介较为详细的从性能优化的角度来分析如何如何设计数据库Schema,所以这里暂时先不介绍如何来设计性能优异的数据库Schema结构,仅仅通过一个实际的示例来展示Schema结构的不
3、一样在性能方面所带来的差异。需求概述:一个简单的讨论区系统,需要有用户,用户组,组讨论区这三部分基本功能 简要分析: 1、需要存放用户数据的表; 2、需要存放分组信息和存放用户与组关系的表 3、需要存放讨论信息的表; 解决方案:13/13优选 原始方案一:分别用用四个表来存放用户,分组,用户与组关系以及各组的讨论帖子的信息如下:user用户表:+-------------+---------------+------+-----+---------+-------
4、+
5、Field
6、Type
7、Null
8、Key
9、Default
10、Extra
11、+-------------+---------------+------+-----+---------+-------+
12、id
13、int(11)
14、NO
15、
16、0
17、
18、
19、nick_name
20、varchar(32)
21、NO
22、
23、NULL
24、
25、
26、password
27、char(64)
28、YES
29、
30、NULL
31、
32、
33、email
34、varchar(32)
35、NO
36、
37、NULL
38、
39、
40、status
41、varchar(16)
42、NO
43、
44、NULL
45、
46、
47、sexuality
48、char(1)
49、NO
50、
51、NULL
52、
53、
54、m
55、sn
56、varchar(32)
57、YES
58、
59、NULL
60、
61、
62、sign
63、varchar(64)
64、YES
65、
66、NULL
67、
68、
69、birthday
70、date
71、YES
72、
73、NULL
74、
75、
76、hobby
77、varchar(64)
78、YES
79、
80、NULL
81、
82、
83、location
84、varchar(64)
85、YES
86、
87、NULL
88、
89、
90、description
91、varchar(1024)
92、YES
93、
94、NULL
95、
96、+-------------+---------------+------+-----+---------+-------+groups分组表:+--------------+
97、---------------+------+-----+---------+-------+
98、Field
99、Type
100、Null
101、Key
102、Default
103、Extra
104、13/13优选+--------------+---------------+------+-----+---------+-------+
105、id
106、int(11)
107、NO
108、
109、NULL
110、
111、
112、gmt_create
113、datetime
114、NO
115、
116、NULL
117、
118、
119、gmt_modified
120、datetime
121、NO
122、
123、NULL
124、
125、
126、name
127、varchar(32)
128、NO
129、
130、NULL
131、
132、
133、sta
134、tus
135、varchar(16)
136、NO
137、
138、NULL
139、
140、
141、description
142、varchar(1024)
143、YES
144、
145、NULL
146、
147、+--------------+---------------+------+-----+---------+-------+user_group关系表:+--------------+-------------+------+-----+---------+-------+
148、Field
149、Type
150、Null
151、Key
152、Default
153、Extra
154、+--------------+-------------+---
155、---+-----+---------+-------+
156、user_id
157、int(11)
158、NO
159、MUL
160、NULL
161、
162、
163、group_id
164、int(11)
165、NO
166、MUL
167、NULL
168、
169、
170、user_type
171、int(11)
172、NO
此文档下载收益归作者所有