1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
分表技术(表的结构不能变)
分表技术有(水平分割和垂直分割)
当一张越来越大时候,即使添加索引还慢的话,我们可以使用分表
以qq用户表来具体的说明一下分表的操作.
思路如图 :
首先我创建三张表 user0 / user1 /user2 , 然后我再创建 uuid表,该表的作用就是提供自增的id, 插入的时候插入到不同的表中去。
走代码:
create
table
user0(
id
int
unsigned
primary
key
,
name
varchar
(32)
not
null
default
''
,
pwd
varchar
(32)
not
null
default
''
)
engine=myisam charset utf8;
create
table
user1(
id
int
unsigned
primary
key
,
name
varchar
(32)
not
null
default
''
,
pwd
varchar
(32)
not
null
default
''
)
engine=myisam charset utf8;
create
table
user2(
id
int
unsigned
primary
key
,
name
varchar
(32)
not
null
default
''
,
pwd
varchar
(32)
not
null
default
''
)
engine=myisam charset utf8;
create
table
uuid(
id
int
unsigned
primary
key
auto_increment)engine=myisam charset utf8;
|
n 垂直分割,把列拆分到不同的表。示意图:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
一句话: 如果一张表某个字段,信息量大,但是我们很少查询,则可以考虑把这些字段,单独的放入到一张表中,这种方式称为垂直分割.
数据库只存储路径。图片和文件存放在文件系统,甚至单独放在一台服务器(图床 / 视频服务器 ). 数据库是可以存视频的。
mysql.ini:
port = 3306 端口是可以改的。
max_connections=200 ,mysql是中型数据库,2000并发数是极限。但是做好缓存之后可以支持10万没问题。也可以做读写分离集群。
query_cache_size=15M,查询缓存的大小。
innodb引擎,所以下面两个参数调的很大
innodb_additional_mem_pool_size = 64M
innodb_buffer_pool_size =1G //缓存池
对于myisam,需要调整key_buffer_size
当然调整参数还是要看状态,用show status语句可以看到当前状态,以决定改调整哪些参数
如果你的机器内存超过4G,那么毋庸置疑应当采用64位操作系统和64位mysql 5.5.19,位越大是寻址范围越大,
|
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8250718.html,如需转载请自行联系原作者