成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Mysql臨時表及分區(qū)表區(qū)別詳解

Mysql臨時表及分區(qū)表區(qū)別詳解

熱門標簽:臨沂做地圖標注 地圖標注客戶付款 咸陽防封電銷卡 新鄉(xiāng)智能外呼系統(tǒng)好處 石家莊400電話辦理公司 許昌外呼增值業(yè)務線路 廣東400企業(yè)電話申請流程 申請400電話電話價格 宜賓全自動外呼系統(tǒng)廠家

臨時表與內(nèi)存表

內(nèi)存表,指的是使用Memory引擎的表,建表語法是create table … engine=memory。這種 表的數(shù)據(jù)都保存在內(nèi)存里,系統(tǒng)重啟的時候會被清空,但是表結(jié)構(gòu)還在。除了這兩個特性看 上去比較“奇怪”外,從其他的特征上看,它就是一個正常的表

臨時表,可以使用各種引擎類型 。如果是使用InnoDB引擎或者MyISAM引擎的臨時表,寫 數(shù)據(jù)的時候是寫到磁盤上的。當然,臨時表也可以使用Memory引擎。

臨時表特性

  • 建表語法是create temporary table …。
  • 一個臨時表只能被創(chuàng)建它的session訪問,對其他線程不可見。所以,圖中session A創(chuàng)建的 臨時表t,對于session B就是不可見的。
  • 臨時表可以與普通表同名。
  • session A內(nèi)有同名的臨時表和普通表的時候,show create語句,以及增刪改查語句訪問的是臨時表。
  • show tables命令不顯示臨時表。

由于臨時表只能被創(chuàng)建它的session訪問,所以在這個session結(jié)束的時候,會自動刪除臨時表。 也正是由于這個特性,臨時表就特別適合join優(yōu)化這種場景。

create temporary table temp_t like t1;
alter table temp_t add index(b);
insert into temp_t select * from t2 where b>=1 and b=2000;
select * from t1 join temp_t on (t1.b=temp_t.b);

不同session的臨時表是可以重名的,如果有多個session同時執(zhí)行join優(yōu)化,不需要擔心表名重復導致建表失敗的問題。不需要擔心數(shù)據(jù)刪除問題。如果使用普通表,在流程執(zhí)行過程中客戶端發(fā)生了異常斷開,或者數(shù)據(jù)庫發(fā)生異常重啟,還需要專門來清理中間過程中生成的數(shù)據(jù)表。而臨時表由于會自動回收,所以不需要這個額外的操作。臨時表的應用

分庫分表系統(tǒng)的跨庫查詢

一般分庫分表的場景,就是要把一個邏輯上的大表分散到不同的數(shù)據(jù)庫實例上。比如。將一個大 表ht,按照字段f,拆分成1024個分表,然后分布到32個數(shù)據(jù)庫實例上。

分區(qū)key的選擇是以“減少跨庫和跨表查詢”為依據(jù)的。如果大部分的語句都會包 含f的等值條件,那么就要用f做分區(qū)鍵。這樣,在proxy這一層解析完SQL語句以后,就能確定將這條語句路由到哪個分表做查詢。 比如

select v from ht where f=N;

這時,我們就可以通過分表規(guī)則(比如,N%1024)來確認需要的數(shù)據(jù)被放在了哪個分表上。這種語句只需要訪問一個分表,是分庫分表方案最歡迎的語句形式了。

但是,如果這個表上還有另外一個索引k,并且查詢語句是這樣的:

select v from ht where k >= M order by t_modified desc limit 100;

這時候,由于查詢條件里面沒有用到分區(qū)字段f,只能到所有的分區(qū)中去查找滿足條件的所有 行,然后統(tǒng)一做order by 的操作。這種情況下,有兩種比較常用的思路:

在proxy層的進程代碼中實現(xiàn)排序,對proxy端的壓力比較大,尤其是很容易出現(xiàn)內(nèi)存不夠用和CPU瓶頸的問題。

把各個分庫拿到的數(shù)據(jù),匯總到一個MySQL實例的一個表中,然后在這個匯總實例上做邏輯操作。

在匯總庫上創(chuàng)建一個臨時表temp_ht,表里包含三個字段v、k、t_modifified;

在各個分庫上執(zhí)行

select v,k,t_modified from ht_x where k >= M order by t_modified desc limit 100;

把分庫執(zhí)行的結(jié)果插入到temp_ht表中;

執(zhí)行

select v from temp_ht order by t_modified desc limit 100;

為什么臨時表可以重名

create temporary table temp_t(id int primary key)engine=innodb;

執(zhí)行這個語句的時候,MySQL要給這個InnoDB表創(chuàng)建一個frm文件保存表結(jié)構(gòu)定義,還要有地方保存表數(shù)據(jù)。

這個frm文件放在臨時文件目錄下,文件名的后綴是.frm,前綴是“#sql{進程id}_{線程id}_序列 號”。你可以使用select @@tmpdir命令,來顯示實例的臨時文件目錄。

這個進程的進程號是1234,session A的線程id是4,session B的線程id是5。所以session A和session B創(chuàng)建的臨時表,在磁盤上的文件不會重名

MySQL維護數(shù)據(jù)表,除了物理上要有文件外,內(nèi)存里面也有一套機制區(qū)別不同的表,每個表都對應一個table_def_key。 對于臨時表,table_def_key在“庫名+表名”基礎(chǔ)上,又加入了“server_id+thread_id”。

也就是說,session A和sessionB創(chuàng)建的兩個臨時表t1,它們的table_def_key不同,磁盤文件名 也不同,因此可以并存。

分區(qū)表的引擎層行為

ATE	TABLE	`t`	(
		`ftime`	datetime	NOT	NULL,
		`c`	int(11)	DEFAULT	NULL,
		KEY	(`ftime`)
)	ENGINE=InnoDB	DEFAULT	CHARSET=latin1
PARTITION	BY	RANGE	(YEAR(ftime))
Û ॔ګդᎱ
B
 (PARTITION	p_2017	VALUES	LESS	THAN	(2017)	ENGINE	=	InnoDB,
 	PARTITION	p_2018	VALUES	LESS	THAN	(2018)	ENGINE	=	InnoDB,
 	PARTITION	p_2019	VALUES	LESS	THAN	(2019)	ENGINE	=	InnoDB,
 PARTITION	p_others	VALUES	LESS	THAN	MAXVALUE	ENGINE	=	InnoDB);
 insert	into	t	values('2017-4-1',1),('2018-4-1',1);

初始化表的時候,只插入了兩行數(shù)據(jù),sessionA的select語句對ftime這兩個記錄之間的間隙加了鎖,間隙和加鎖狀態(tài)如圖:

也就是說,2017-4-1和2018-4-1這兩個記錄之間的間隙會被鎖住,那么sessionB的兩條插入語句都應該進入鎖等待狀態(tài)。但是從效果上看,第一個insert語句是可以執(zhí)行成功的,因為對于引擎來說,p2018和p2019是不同的表,2017的下一個記錄不是2018-4-1而是p2018中的supremum,所以在t1時刻索引如圖:

由于分區(qū)表的規(guī)則,sessionA只操作了p2018,sessionB要插入2018-2-1是可以的但要寫入2017-12-1要等待sessionA的間隙鎖。

對于MYISAM引擎:

因為在sessionA中,sleep了100秒,由于myisam只支持表鎖,所以這條update會鎖住整個表t的讀,但是結(jié)果是,B的第一條語句是可以執(zhí)行的,第二條語句才進入鎖等待狀態(tài)。

這是myisam表鎖只在引擎層實現(xiàn)的,sessionA加的表鎖,是所在p2018上,因此只會堵住分區(qū)上執(zhí)行的查詢,落到其他分區(qū)的查詢不受影響。這樣看來,分區(qū)表還不錯,為什么不用呢,我們使用分區(qū)表的一個原因就是單表過大,那么不使用分區(qū)表,就要使用手動分表的方式。

手動分表需要創(chuàng)建t_2017,t_2018,t_2019,也就是找到需要更新的所有分表,依次執(zhí)行,這和分區(qū)表無實質(zhì)的差別,兩者一個由serverceng決定使用哪個分區(qū),一個由應用層代碼決定使用哪個分表,因此,從引擎層看無實際差別。其實主要區(qū)別是在server層:打開表行為。

分區(qū)策略

每當?shù)谝淮卧L問一個分區(qū)表時,mysql需要把所有分區(qū)都訪問一遍:如果分區(qū)很多,比如查過了1000個,mysql啟動的時候,open_files_limit默認為1024,那么就會在訪問表的時候,由于打開了所有文件,超過了上限而報錯。

mysiam使用的分區(qū)策略成為通用分區(qū)策略,每次訪問分區(qū)都是有server層控制。有比較嚴重的性能問題。

innodb引擎引入了本地分區(qū)策略,是在innodb內(nèi)部自己管理打開分區(qū)的行為。

分區(qū)表的server層行為

從server層看,一個分區(qū)表就是一個表。

雖然B只操作2017分區(qū),但是由于A持有整個表t的mdl鎖,導致了B的alter語句被堵住。如果是使用普通分表,不會跟另外一個分表上的查詢語句出現(xiàn)MDL沖突。

小結(jié):

  • mysql在第一次打開分區(qū)表的時候,需要訪問所有分區(qū)
  • 在server層,認為這是同一張表,因此所有分區(qū)公用MDL鎖
  • 在引擎層,認為這是不同的表,因此在MDL鎖之后,會根據(jù)分區(qū)表規(guī)則,只訪問必要的分區(qū)。

分區(qū)表應用場景

分區(qū)表的優(yōu)勢是對業(yè)務透明,相對于用戶分表來說,使用分區(qū)表的業(yè)務代碼更簡潔,分區(qū)表可以很方便的清理歷史數(shù)據(jù)。

alter table t drop partition 操作是刪除分區(qū)文件,效果跟drop類似,與delete相比,優(yōu)勢是速度快,對系統(tǒng)影響小。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • MySQL最佳實踐之分區(qū)表基本類型
  • MySQL分區(qū)表的基本入門教程
  • MySQL優(yōu)化之分區(qū)表
  • 解決mysql刪除用戶 bug的問題
  • MySQL對window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個Bug
  • MySQL關(guān)于exists的一個bug
  • CentOS 安裝 PHP5.5+Redis+XDebug+Nginx+MySQL全紀錄
  • 關(guān)于MySQL分區(qū)表的一個性能BUG

標簽:合肥 阜新 日照 北京 貴州 臺灣 鷹潭 鎮(zhèn)江

巨人網(wǎng)絡通訊聲明:本文標題《Mysql臨時表及分區(qū)表區(qū)別詳解》,本文關(guān)鍵詞  Mysql,臨時,表,及,分區(qū)表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql臨時表及分區(qū)表區(qū)別詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql臨時表及分區(qū)表區(qū)別詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产免费一区二区三区| 日韩av日韩在线观看| 国产精品手机在线播放| 亚洲激情成人网| 日本黄色大片在线观看| 国产成人激情小视频| 囯产精品久久久久久| 亚洲精品国产拍免费91在线| 国产在线视频欧美一区| 91视频导航| 国产精品毛片久久久| 免费观看v片在线观看| 美女18一级毛片一品久道久久综合| 国产欧美啪啪| www国产免费| 中文字幕日韩在线| 精品人伦一区二区色婷婷| 日本中文字幕一区二区视频| 高清国语自产拍免费一区二区三区| 国产精品国产自产拍高清av王其| 粉嫩久久99精品久久久久久夜| 日韩系列欧美系列| 日韩精品久久久久久久的张开腿让| 国产精品入口麻豆高清| 日本道精品一区二区三区| 欧美xxxx黑人又粗又长| 中文字幕亚洲自拍| 黄色免费网站在线观看| 日韩欧美一区二| 三年片大全在线观看大全有哪些| 在线免费观看日韩欧美| 日本1区2区| 日本中文字幕不卡免费| 欧美激情在线一区| 亚洲一卡二卡三卡四卡无卡网站在线看| 国产农村妇女aaaaa视频| 麻豆成人在线看| 色啦啦av综合| 亚洲国产综合色| 久本草在线中文字幕亚洲| 色欧美乱欧美15图片| 97国产超碰| 精品久久久久久中文字幕| 午夜影院在线免费观看| 亚洲自拍欧美色图| 97久草视频| 日韩精品视频无播放器在线看| 免费黄色三级网站| 久久综合亚洲精品| 豆国产97在线| 欧美成年人视频在线观看| 欧美日韩成人黄色| 欧美顶级xxxxbbbb| 91香蕉视频在线观看| 久久久久久久有限公司| 亚洲人精品午夜在线观看| 欧美日韩午夜在线| 欧美三级视频在线播放| 欧美一级理论片| 18禁免费无码无遮挡不卡网站| 波多野结衣在线影院| 热久久久久久久| 中文字幕2018| 精品无人区无码乱码毛片国产| 欧美美女一区二区三区| 天天在线女人的天堂视频| 精品无吗乱吗av国产爱色| 欧美一区二区三区影院| 国产精久久一区二区三区| 日韩中文字幕免费看| 俺来也官网欧美久久精品| 免费人成在线观看播放视频| av手机在线看| 久久精品国亚洲| 精品亚洲永久免费精品| 久久免费精品国产久精品久久久久| 午夜久久黄色| 欧美又大又硬又粗bbbbb| 欧美精品在线一区二区| www.国产欧美| 亚洲国产精品久久网午夜小说| 久久久青草青青国产亚洲免观| 精品成人免费观看| 中文成人av在线| 国产精品视频一区二区三区麻豆| 亚洲资源网你懂的| 影音先锋国产在线| 色婷婷精品大视频在线蜜桃视频| 亚洲第一区av| 亚洲精品无码国产| 在线观看不卡| 亚洲天堂手机版| 亚洲国产精彩视频| 中文字幕日本视频| 屁屁影院在线观看| 精品国产污污免费网站入口| av中文在线观看| 国产欧美亚洲日本| 午夜在线激情影院| 日产精品久久久久| 亚洲激情 国产| av一本久道久久综合久久鬼色| 国产成人午夜精品影院观看视频| 精品一区二区三区香蕉蜜桃| 亚洲最大成人综合| 国产欧美婷婷中文| 性感美女一区二区三区| 欧美精品乱人伦久久久久久| 国产麻豆精品一区二区三区v视界| 欧美全黄视频| 欧美日韩性视频一区二区三区| 欧美日韩午夜在线视频| 亚洲视频一区| 99麻豆久久久国产精品免费| 特级片在线观看| 男生操女生视频网站| 超碰在线国产97| 久久久久久久久成人| 干日本少妇首页| 久久最新资源网| 在线免费a视频| 日本特黄在线观看| 天堂精品高清1区2区3区| 一区二区三区av| 国产成人在线观看网站| 91精品国产高清久久久久久91| 日韩无一区二区| 一本色道久久综合亚洲精品小说| 成人激情综合网站| 老司机在线永久免费观看| 欧美人与性动交α欧美精品济南到| 污视频网站在线免费观看| 日日噜噜夜夜狠狠视频欧美人| 影音先锋在线资源中文字幕| 天堂av中文在线观看| 99爱在线视频| 国产99久久久国产精品| 国产精品白嫩初高中害羞小美女| 婷婷五月综合激情| 91中文字精品一区二区| 亚洲免费电影一区| 亚洲精品中文字幕在线播放| 日本三级电影免费观看| 亚洲制服欧美中文字幕中文字幕| 小日子的在线观看免费第8集| 欧美日韩在线精品成人综合网| 精品人妻大屁股白浆无码| 国产一线二线三线在线观看| 福利小视频在线观看| 国产欧美精品国产国产专区| 乱亲女h秽乱长久久久| 亚洲精品国产无码| 久久国产精品-国产精品| 久久日韩粉嫩一区二区三区| 久久无码人妻精品一区二区三区| 99热在线观看免费精品| 一区在线视频| 爱爱网站免费| 精品久久久久中文字幕小说| 精品久久久久久无| 91在线视频| 欧美精品国产精品| 自由日本语亚洲人高潮| 91九色在线观看视频| 人妻精品一区一区三区蜜桃91| 亚洲欧美综合一区二区| 日韩欧美二区三区| 欧美日韩亚洲天堂| 国产精品亚洲第五区在线| 青青青免费视频观看在线| 日日操天天摸| 人人视频精品| 日韩精品久久一区二区| 亚洲国产女人aaa毛片在线| 国产尤物视频在线观看| 欧美哺乳videos| 欧美成aaa人片免费看| 亚洲视频综合| 亚洲综合色网站| 99久久精品99国产精品| 米奇777四色精品人人爽| 天天操夜夜拍| 老妇女50岁三级| 一本色道久久88| 欧美视频免费一区二区三区| 欧美理论影院| 国产熟女高潮视频| 成人免费视频国产免费麻豆| 国产一区二区三区电影在线观看| www.精品久久| 不卡av在线网| 欧美在线一级视频| www.五月色.com| 亚洲天堂成人在线视频| 人妖精品videosex性欧美| 黄色亚洲大片免费在线观看| 国产美女精品视频| 91av精品| 91午夜伦伦电影理论片| 暖暖成人免费视频| 精品久久影院| 大地资源二中文在线影视观看| 日韩日韩日韩日韩日韩| 超在线视频97| 欧美不卡激情三级在线观看| 天海翼精品一区二区三区| 亚洲精品欧美精品| 久久久精品视频在线| 久热视线观看免费视频| 免费高清在线| 在线观看国产小视频| 天堂√在线观看一区二区| 四虎4545www国产精品| 福利在线一区| 精品无码av一区二区三区不卡| 黄色毛片在线| 91人成网站www| 免费观看国产精品视频| 又粗又硬又爽国产视频| 在线观看国产欧美| 91久久精品美女高潮| 伊人网在线观看| 久久香蕉精品香蕉| 精品国产av无码| 国产精品a久久久久久| 24小时成人在线视频| 成人影院入口| 国产91精品久| 久久精品xxxxx| 午夜在线观看91| 在线丨暗呦小u女国产精品| 国产伦精品一区二区三区免| 成人免费视频播放| 欧美日韩国产精品自在自线| 伊人无码高清| 日本精品在线中文字幕| 91久久国语露脸精品国产高跟| 偷拍精品福利视频导航| 亚洲一区二区三区中文字幕| 九九热在线视频观看这里只有精品| 日本中文字幕视频一区| mm131美女视频| 男人的天堂在线视频| 黑人巨大精品欧美一区二区免费| 亚洲深夜激情| 一区二区三区亚洲变态调教大结局| h视频网站在线观看| 成人在线分类| 亚洲黄页网在线观看| 欧美精品videos另类| 国产精品15p| 日韩欧美国产一二三区| 日韩免费观看高清完整版| 四虎国产精品永久在线国在线| 欧美freesextv| 色一情一伦一子一伦一区| 日本学生初尝黑人巨免费视频| 狠狠色成人综合网图片区| 欧美精品电影免费在线观看| 欧美日韩综合一区二区三区| 亚洲一区二区图片| 免费大片在线观看www| 视频在线一区二区三区| 狠狠人妻久久久久久综合蜜桃| 狠狠躁夜夜躁av无码中文幕| 手机免费看av| 亚洲精品一区二区在线看| 久久不卡免费视频| 99久久99视频只有精品| av最新地址| 国产精品综合视频| 欧美成人精品福利| 久久久久免费网站| 美女一区二区三区视频| 波多野结衣一区二区三区在线观看| 国产激情欧美| 在线视频 日韩| 国产一卡二卡3卡4卡四卡在线| 精品伦精品一区二区三区视频| 影音先锋男人的网站| 91久久精品国产91久久性色| 国产一级大片在线观看| 久久久无码精品亚洲国产| 国产真实生活伦对白| 亚洲精品国精品久久99热一| 亚洲一区二区三区四区中文字幕| 国产午夜精品理论片a级探花| 亚洲精品四区| 制服丝袜av在线| 性欧美长视频免费观看不卡| 在线免费高清一区二区三区| yellow网站在线观看| 亚洲视频网站在线| a毛片不卡免费看片| 天堂аⅴ在线最新版在线| 成人在线观看a| 日韩视频在线直播| 欧美日韩国产精品一区二区亚洲| 又大又黄又粗| 久久亚洲精精品中文字幕早川悠里| 国产精品国码视频| 欧美日韩美女在线观看| 国产九九视频一区二区三区| 91短视频在线| 欧美日韩日本国产亚洲在线| 国产hs免费高清在线观看| 日韩在线中文字幕| 亚洲成人精品视频在线观看| 色婷婷综合在线| 欧美日韩在线精品一区二区三区| 91久久精品国产91久久性色| 日韩国产中文字幕| 欧美久久高跟鞋激| 国产一区二区三区自拍| 日本成人超碰在线观看| 国内成人在线| 成人免费一区二区三区视频| 亚洲国产精品精华液2区45| 日本在线视频1区| 精品一区二区免费| 国产夫妻在线播放| 久久精品国产亚洲av麻豆色欲| 青青国产精品| 99精品一级欧美片免费播放| 欧洲中文字幕精品| 色综合一区二区日本韩国亚洲| 国产亚洲第一区| 国产日韩一级二级三级|