分表技術
分表包括水平分表和垂直分表
分表技術有(水平分割和垂直分割)
當一張越來越大時候,即使新增索引還慢的話,我們可以使用分表
水平分表
以qq使用者表來具體的說明一下分表的操作.
思路如圖 :
首先我建立三張表 user0 / user1 /user2 , 然後我再建立 uuid表,該表的作用就是提供自增的id,
思路是根據ID除以3取餘,餘數為0/1/2不同,分別在三張表中,插入和查詢都需要走這一步。
走程式碼:(韓順平老師的PHP程式碼)
create table user0(
id int unsigned primary key ,
name varchar(32) not null default '',
pwd varchar(32) not null default '')
engine=myisam charset utf8;
create table user1(
id int unsigned primary key ,
name varchar(32) not null default '',
pwd varchar(32) not null default '')
engine=myisam charset utf8;
create table user2(
id int unsigned primary key ,
name varchar(32) not null default '',
pwd varchar(32) not null default '')
engine=myisam charset utf8;
create table uuid(
id int unsigned primary key auto_increment)engine=myisam charset utf8;
編寫addUser.php
<?php
//註冊一個使用者
$con=mysql_connect("localhost","root","root");
if(!$con){
die("連線失敗!");
}
mysql_select_db("temp",$con);
$name=$_GET['name'];
$pwd=$_GET['pwd'];
//這時我們先獲取使用者id,id是從uuid表獲取
$sql="insert into uuid values(null)";
if(mysql_query($sql,$con)){
$id=mysql_insert_id();
}
//計算表名,就是,你應該把這個使用者放入到哪個表
$talname='user'.$id%3;
$sql="insert into {$talname} values ($id,'$name','$pwd')";
if(mysql_query($sql,$con)){
echo '新增使用者到 '.$talname.'ok';
}
mysql_close($con);
//
<?php
//註冊一個使用者
$con=mysql_connect("localhost","root","root");
if(!$con){
die("連線失敗!");
}
mysql_select_db("temp",$con);
$id=intval($_GET['id']);
//計算表名
$tabname='user'.$id%3;
$sql="select pwd from {$tabname} where id=$id";
$res=mysql_query($sql,$con);
if($row=mysql_fetch_assoc($res)){
echo "在{$tabname}. 中發現 id號為 {$id}";
}
//.....
垂直分割
示意圖:
一句話: 如果一張表某個欄位,資訊量大,但是我們很少查詢,則可以考慮把這些欄位,單獨的放入到一張表中,這種方式稱為垂直分割.
相關文章
- 強!分庫分表與分散式資料庫技術選項分析分散式資料庫
- 中文分詞技術中文分詞
- 閃回表技術
- 表收縮技術
- 表壓縮技術
- 花旗隊分詞技術分詞
- 如何在 Oracle 技術網上發表技術文章Oracle
- MySQL分頁技術總結MySql
- 資料倉儲技術分類術語
- 記憶體技術詞彙表記憶體
- Oracle表分割槽技術概述Oracle
- SAP UI 搜尋分頁技術UI
- 如果IT技術按照兵種分類
- MySQL的分頁技術總結MySql
- 掌握ASP分頁技術詳解
- ASP分頁技術原始碼 (轉)原始碼
- 區塊鏈技術術語表 - 以太坊篇區塊鏈
- 《深入react技術棧》之表單React
- 閃回技術二:閃回表
- PHP的分頁處理技術和一些常用的技術PHP
- 1.2 分詞技術與演算法分詞演算法
- NLP第3章 中文分詞技術中文分詞
- 佩羅的技術分類(轉載)
- 分投趣Fintoch系統智慧合約開發技術丨分投趣Fintoch技術開發示例
- 技術分享 | OceanBase 裡的 BUFFER 表
- 匯入地址表鉤取技術解析
- 深度解析:分投趣fintoch模式系統開發技術(成熟合約技術)模式
- 【ShardingSphere技術專題】「ShardingJDBC」SpringBoot之整合ShardingJDBC實現分庫分表(JavaConfig方式)JDBCSpring BootJava
- 中文搜尋引擎技術揭密:中文分詞中文分詞
- 汪子熙的SAP技術文章分類合集
- 24-PHP+MySQL分頁技術詳解PHPMySql
- 前後端分離技術路線圖後端
- OVS+DPDK Datapath 包分類技術
- 每天5分鐘玩轉容器技術(1)
- VB中子分類技術的應用 (轉)
- 分投趣(Fintoch)開發丨分投趣原始碼系統技術開發丨Solidity技術語言原始碼Solid
- 分庫分表系列:分庫分表的前世今生
- mysql表分割槽技術詳細介紹MySql