zoukankan      html  css  js  c++  java
  • mysql分表的3种方法

    一,先说一下为什么要分表

    分表的目的就在于此,减小数据库的负担,缩短查询时间

    mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为了保证数据的完整性。

    很显然mysql对这种情况的处理是,一种是表锁定(myisam存储引擎),一个是行锁定(innodb存储引擎)

    表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。

    行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作

    根据用户的ID来判断这个用户的聊天信息放到哪张表里面,你可以用hash的方式来获得,可以用求余的方式来获得。

    <?php  

      function get_hash_table($table,$userid) {  

        $str = crc32($userid);  

        if($str<0){  

           $hash = "0".substr(abs($str), 0, 1);  

         }else{  

           $hash = substr($str, 0, 2);  

         }  

         return $table."_".$hash;  

      }  

      echo get_hash_table('message','user18991');      //结果为message_10  

      echo get_hash_table('message','user34523');    //结果为message_13  

    ?>  

  • 相关阅读:
    第二次结对编程作业
    第5组 团队展示
    第一次结对编程作业
    BETA 版冲刺前准备(团队)
    项目测评(团队)
    1111111111
    Alpha 事后诸葛亮
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8098889.html
Copyright © 2011-2022 走看看