zoukankan      html  css  js  c++  java
  • mysql15--垂直分表水平分表

    分表技术(表的结构不能变)
    分表技术有(水平分割和垂直分割)
    
    当一张越来越大时候,即使添加索引还慢的话,我们可以使用分表
    以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 垂直分割,把列拆分到不同的表。示意图

    一句话: 如果一张表某个字段,信息量大,但是我们很少查询,则可以考虑把这些字段,单独的放入到一张表中,这种方式称为垂直分割.
    
    
    数据库只存储路径。图片和文件存放在文件系统,甚至单独放在一台服务器(图床 / 视频服务器 ). 数据库是可以存视频的。
    
    
    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,位越大是寻址范围越大,
    

      

  • 相关阅读:
    如何在iTerm2中配置oh my zsh?
    sublime中格式化jsx文件
    ES6 new syntax of Literal
    ES6 new syntax of Rest and Spread Operators
    How to preview html file in our browser at sublime text?
    ES6 new syntax of Default Function Parameters
    ES6 new syntax of Arrow Function
    七牛云2018春招笔试题
    Spring-使用注解开发(十二)
    Spring-声明式事物(十一)
  • 原文地址:https://www.cnblogs.com/yaowen/p/8250718.html
Copyright © 2011-2022 走看看