中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

centos7-mysql-分表

發布時間:2020-08-05 07:16:04 來源:網絡 閱讀:448 作者:動力在于作 欄目:數據庫

 數據庫越來越大,單個表中數據過多,查詢讀寫,還有鎖機制,會導致嚴重的數據庫性能影響.
表鎖,行鎖,都是為了保證數據的完整性,
分表
分表是把一個大表,分成若干個獨立儲存空間的表,每個表都對應MYD數據文件,MYI索引文件,FRM表結構文件,這些表可以分布在一個存儲設備,也可以分在不同存儲設備.
相當于一個表變為多個表,如果這時候有APP已經在使用中,而且會對原表進行操作等等,需要開發修改代碼,因為原來的一個表已經分成好幾個,按照原來的表肯定是搜索不到的.
將單表拆分,再根據一定算法,就可以將數據分散到多個表中,對數據量大的數據庫,會有明顯的提升,
減少數據庫負擔,縮短查詢時間,這是分表的主要目的
mysql分表-分為垂直切分,和水平切分.
垂直切分是按照列切分,水平就是行切分(需求不同自行挑選)
垂直切分
一般垂直切分都是把經常查詢的列單獨分到一張表中,方便查詢
水平拆分
表的數據非常龐大,可以分成多個表,提高查詢效率
--------------------------------------------------------------------------------------------------------
分表的幾種方式
1-mysql集群
這個不是分表但是也是相同的作用,任務分擔到多臺mysql數據庫
2-預先估計表的訪問量,提前分為若干表,以防萬一
根據一定算法,將數據分散到不同表中.
3-利用merge存儲引擎來分表
 merge只能用在myisam上進行分表.
merge分為主表跟子表,主表中是子表的位置,如果使用myisam來分表的話APP可以不需要修改連接數據的信息,還是可以直接從主表中查詢.
做一個merge的實例
create database gao;
use gao;
create table gao(
id bigint auto_increment primary key,
name varchar(20), 
sex tinyint not null default '0') 
engine=myisam default charset=utf8 auto_increment=1;
批量加入數據
insert into gao(name,sex) values('gao',1);
insert into gao(name,sex)select name,sex from gao;  將查詢到的數據插入,所以,數據都一樣只是測驗用
開始進行分表,首先創建兩個子表
use gao;
drop table if exists gao_1;
create table gao_1(
id bingint primary key,
name varchar(20)
sex tinyint not null default '0')
engine=myisam default charset=utf8;
因為第二個表跟上面的一模一樣除了名字
create table gao_2 like gao_1;
創建主表
drop table if exists mastergao;
create table mastergao(
id bigint primary key  auto_increment ,
name varchar(20),
sex tinyint not null default '0')
engine=mergeunion=(gao_1,gao_2) insert_method=last charset=utf8 auto_increment=1;
insert_method = last 表示茶如道最后一張表  first 表示插入到第一張表
數據導入到兩個子表當中.
insert into gao_1(id,name,sex) select id,name,sex  from gao where id%2=1;
insert into gao_2(id,name,sex) select id,name,sex from gao where id%2=0;
id%2后的值單雙導入到兩個表中
這時候查詢兩個表跟主表,數據都有了就可以刪除原來的gao將mastergao更改為gao即可.
alter table mastergao rename gao;完成
--------------------------------------------------------------------------------------------------------------

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新巴尔虎左旗| 民权县| 马尔康县| 襄樊市| 余姚市| 宜昌市| 广饶县| 余庆县| 萨迦县| 安多县| 长武县| 桐乡市| 黄陵县| 呼伦贝尔市| 乌兰浩特市| 泾川县| 锦州市| 新沂市| 巫山县| 红河县| 绥化市| 伊川县| 大邑县| 马山县| 南康市| 雷波县| 蓬溪县| 威海市| 乐清市| 武安市| 乌苏市| 霍城县| 邵东县| 永和县| 佛坪县| 邵武市| 永吉县| 剑河县| 徐水县| 哈密市| 淮北市|