thinkphp項(xiàng)目中使用分表的思路(適用于大數(shù)據(jù))
/** * 獲得分表名 * @param $tableName 基礎(chǔ)表名 */function getSubTable($tableName, $companyId = null){ // 每張表中放50個(gè)集團(tuán)的數(shù)據(jù) $table_user = 50; //確定 companyInfo數(shù)組 if (null === $companyId) //未指定,根據(jù)session取 { $companyInfo = M('Company')->find(COMPANY_ID); } else { $mCompany = M('Company'); $companyInfo = $mCompany->where('id = ' . $companyId)->find(); } //公司信息中 指定了table_name,直接取出返回 if (isset($companyInfo['table_name']) && $companyInfo['table_name'] != '') { return $tableName . '_' . $companyInfo['table_name']; } //公司信息不存在直接返回表名 if (!$companyInfo) { return $tableName; } //company表未指定id,按算法返回表名 (公司id % 50) = 分表id $total = $companyInfo['id'] % $table_user; //短路模式 當(dāng)前面的 $total === 0 為真時(shí)候 $total = 1 $total === 0 && $total =1; return $tableName . '_' . $total;}
推薦文章
2024-11-28
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩(wěn)定
產(chǎn)品高可用性高并發(fā)貼心
項(xiàng)目群及時(shí)溝通專(zhuān)業(yè)
產(chǎn)品經(jīng)理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽(yù)堅(jiān)持
10年專(zhuān)注高端品質(zhì)開(kāi)發(fā)聯(lián)系我們
友情鏈接: