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,位越大是寻址范围越大,
    

      

  • 相关阅读:
    kafka-eagle监控kafka
    ZABBIX自动发现Redis端口并监控
    用Redislive监控redis
    zabbix监控hbase
    zabbix监控zookeeper
    zabbix监控nginx日志状态码
    深入理解JVM-内存溢出案例演示与分析
    深入理解JVM-hotspot虚拟机对象探秘
    java开发手册-总结与补充
    IntelliJ IDEA快速自动生成Junit测试类
  • 原文地址:https://www.cnblogs.com/yaowen/p/8250718.html
Copyright © 2011-2022 走看看