垂直分表水平分表

简介:
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,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 大数据 数据库
分库分表知识总结(三)之水平分表
分库分表知识总结(三)之水平分表
75 0
|
5月前
|
存储 监控 数据库
分库分表知识总结(二)之垂直分表
分库分表知识总结(二)之垂直分表
75 1
|
存储 缓存 数据库
什么是垂直分表、垂直分库、水平分表、水平分库?
什么是垂直分表、垂直分库、水平分表、水平分库?
210 0
|
算法 Java 数据库连接
垂直分表和垂直分库
垂直分表和垂直分库
|
SQL 算法 Java
水平分库和水平分表
水平分库和水平分表
|
算法 Java 程序员
水平分库分表的策略
水平分库分表的策略
|
存储 数据处理 数据库
分表方案有哪些
分表方案有哪些
116 0
|
缓存 数据库 索引
水平分表
水平分表
128 0
水平分表
|
监控 数据库
垂直分库
垂直分库
83 0
垂直分库
|
存储 大数据 数据库
水平分库
水平分库
107 0
水平分库