当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 分库分表hash算法

PHP
PHP 如何向 MySQL 发送数据
一个取得文件扩展名的函数
php生成EXCEL的东东
用PHP和ACCESS写聊天室(十)
用PHP和ACCESS写聊天室(七)
用PHP和ACCESS写聊天室(八)
用PHP和ACCESS写聊天室(九)
投票管理程序
为查询结果建立向后/向前按钮
用ODBC的分页显示
一个简洁的多级别论坛
PHP中对数据库操作的封装
如何开发一个虚拟域名系统
用PHP+MySql编写聊天室
不用数据库的多用户文件自由上传投票系统(3)
用PHP和ACCESS写聊天室(一)
用PHP和ACCESS写聊天室(二)
对javascript和select部件的结合运用
用PHP和ACCESS写聊天室(三)
很实用的一个完整email发送程序

PHP 中的 php 分库分表hash算法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 259 ::
收藏到网摘: n/a

分享一个分库分表hash算法,需要的朋友可以参考下。
复制代码 代码如下:

//分库分表算法
function calc_hash_db($u, $s = 4)
{
$h = sprintf("%u", crc32($u));
$h1 = intval(fmod($h, $s));
return $h1;
}

for($i=1;$i<100;$i++)
{
echo calc_hash_db($i);
echo "<br>";
}
function calc_hash_tbl($u, $n = 256, $m = 16)
{
$h = sprintf("%u", crc32($u));
$h1 = intval($h / $n);
$h2 = $h1 % $n;
$h3 = base_convert($h2, 10, $m);
$h4 = sprintf("%02s", $h3);
return $h4;
}