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  

    ?>  

  • 相关阅读:
    KMP算法小结
    算法二叉搜索树之AVL树
    算法导论之红黑树的学习
    算法导论小结(一)
    感悟或摘抄
    js中神奇的东西
    简单了解webservice
    用<![CDATA[]]>将xml转义为 纯文本
    简单了解soap协议
    java写webservice接口
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8098889.html
Copyright © 2011-2022 走看看