zoukankan      html  css  js  c++  java
  • mysql 分表的实现方式

    第一步,找到要分表的数据库 user

    第二步,创建分表 user1,user2,user3,user4 …

    DROP table IF EXISTS user1;
    create table user1(
    和主表一样的字段
    )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

    Create table user2 like user1;
    Create table user3 like user1;
    .
    .
    .
    第三步:给所有的分表创建一个主表相当于一个盒子里边装着所有的分表,但是主表本身是没有数据的
    DROP table IF EXISTS users;
    create table users(
    和分表前的主表一样的字段
    )ENGINE=MERGE UNION=(user1,user2,user2,…) INSERT_METHOD=LAST CHARSET=utf8 AUTO_INCREMENT=1 ;

    第四步:分表操作(将数据分到分表中)
    insert into user1(字段名) select 字段名 from member where id%表的张数=0;
    insert into user2(字段名) select 字段名 from member where id%表的张数=1;
    insert into user3(字段名) select 字段名 from member where id%表的张数=2

    最后我们查看新的主表的数据,我们发现所有的数据都在,知识存在于分表中

    第二种方式:
    只适用于在查表之前已经拿到用于分表的条件
    比如用qq号码进行分表
    在我们登录的适合已经有了qq号 假设是$num
    $num = $_GET[‘qq’];
    $size = 100 表张数为100
    $iv = $num%$size; //获得偏移量,也就是在哪张表里
    $tablename = ‘user_’.$iv
    然后我们去对应的表里查询数据就可以了

  • 相关阅读:
    html position定位
    设置input标签的placeholder的样式
    由于html元素加载导致的问题
    js setInterval参数设置
    .mht文件转换为html
    js异步导致的错误
    Premiere入门1 —— PR的下载、安装与优化
    Photoshop入门1 —— PS的下载、安装与优化
    Python正课25 —— 文件处理
    Python问题集
  • 原文地址:https://www.cnblogs.com/cjymuyang/p/9448399.html
Copyright © 2011-2022 走看看