<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        mysql優(yōu)化:內(nèi)存儲器表和臨時表

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 13:59:03
        文檔

        mysql優(yōu)化:內(nèi)存儲器表和臨時表

        mysql優(yōu)化:內(nèi)存儲器表和臨時表:mysql優(yōu)化: 內(nèi)存表和臨時表 由于直接使用臨時表來創(chuàng)建中間表,其速度不如人意,因而就有了把臨時表建成內(nèi)存表的想法。但內(nèi)存表和臨時表的區(qū)別且并不熟悉,需要查找資料了。 一開始以為臨時表是創(chuàng)建后存在,當(dāng)連接斷開時臨時表就會被刪除,即臨時表是存在于
        推薦度:
        導(dǎo)讀mysql優(yōu)化:內(nèi)存儲器表和臨時表:mysql優(yōu)化: 內(nèi)存表和臨時表 由于直接使用臨時表來創(chuàng)建中間表,其速度不如人意,因而就有了把臨時表建成內(nèi)存表的想法。但內(nèi)存表和臨時表的區(qū)別且并不熟悉,需要查找資料了。 一開始以為臨時表是創(chuàng)建后存在,當(dāng)連接斷開時臨時表就會被刪除,即臨時表是存在于

        mysql優(yōu)化: 內(nèi)存表和臨時表 由于直接使用臨時表來創(chuàng)建中間表,其速度不如人意,因而就有了把臨時表建成內(nèi)存表的想法。但內(nèi)存表和臨時表的區(qū)別且并不熟悉,需要查找資料了。 ? 一開始以為臨時表是創(chuàng)建后存在,當(dāng)連接斷開時臨時表就會被刪除,即臨時表是存在于

        mysql優(yōu)化: 內(nèi)存表和臨時表

        由于直接使用臨時表來創(chuàng)建中間表,其速度不如人意,因而就有了把臨時表建成內(nèi)存表的想法。但內(nèi)存表和臨時表的區(qū)別且并不熟悉,需要查找資料了。?
        一開始以為臨時表是創(chuàng)建后存在,當(dāng)連接斷開時臨時表就會被刪除,即臨時表是存在于磁盤上的。而實際操作中發(fā)現(xiàn)臨時表創(chuàng)建后去目錄下查看發(fā)現(xiàn)并沒有發(fā)現(xiàn)對應(yīng)的臨時表文件(未斷開鏈接).因而猜測臨時表的數(shù)據(jù)和結(jié)構(gòu)都是存放在內(nèi)存中,而不是在磁盤中.?
        這樣一想內(nèi)存表不是也是存在在內(nèi)存中嗎,那么他和臨時表有什么區(qū)別?他們的速度是什么樣子??

        查找了官方手冊有以下的一些解釋:?
        The MEMORY storage engine creates tables with contents that are stored in memory. Formerly, these were known as HEAP tables. MEMORY is the preferred term, although HEAP remains supported for backward compatibility.?
        Each MEMORY table is associated with one disk file. The filename begins with the table name and has an extension of .frm to indicate that it stores the table definition.?

        由此可以看出來內(nèi)存表會把表結(jié)構(gòu)存放在磁盤上,把數(shù)據(jù)放在內(nèi)存中。?
        并做了以下實驗:?
        臨時表?

        Java代碼??收藏代碼
        1. mysql>?create?temporary?table?tmp1(id?int?not?null);??
        2. Query?OK,?0?rows?affected?(0.00?sec)??



        Java代碼??收藏代碼
        1. mysql>?show?create?table?tmp1;??
        2. +-------+----------------------------------------------------------------------------------------------+??
        3. |?Table?|?Create?Table???????????????????????????????????????????????????????????????????????????????|??
        4. +-------+----------------------------------------------------------------------------------------------+??
        5. |?tmp1???|?CREATE?TEMPORARY?TABLE?`tmp1`?(?`id`?int(11)?NOT?NULL)?ENGINE=MyISAM?DEFAULT?CHARSET=utf8????|??
        6. +-------+----------------------------------------------------------------------------------------------+??
        7. 1?row?in?set?(0.00?sec)??



        內(nèi)存表?

        Java代碼??收藏代碼
        1. mysql>?create?table?tmp2(id?int?not?null)?TYPE=HEAP;??
        2. Query?OK,?0?rows?affected?(0.00?sec)??



        Java代碼??收藏代碼
        1. mysql>?show?create?table?tmp2;??
        2. +-------+------------------------------------------------------------------------------------+??
        3. |?Table?|?Create?Table???????????????????????????????????????????????????????????????????????|??
        4. +-------+------------------------------------------------------------------------------------+??
        5. |?tmp2???|?CREATE?TABLE?`tmp2`?(??
        6. ???`id`?int(11)?NOT?NULL??
        7. )?ENGINE=MEMORY?DEFAULT?CHARSET=utf8?|??
        8. +-------+------------------------------------------------------------------------------------+??
        9. 1?row?in?set?(0.00?sec)??



        可以看出來臨時表和內(nèi)存表的ENGINE 不同,臨時表默認的是MyISAM,而內(nèi)存表是MEMORY .去數(shù)據(jù)庫目錄查看,發(fā)現(xiàn)tmp2.frm而沒有tmp1表的任何文件。看來實際情況是符合官方解釋的。?

        那么速度方面呢(即MyISAM和MEMORY之間的區(qū)別)??
        實驗開始:?
        實現(xiàn)手段:對基于2張千萬級別的表做一些OLAP切分操作,中間表的建立使用2種不同的方式。最后把中間表的數(shù)據(jù)按照要求取出,插入到結(jié)果表中?
        實驗?zāi)康?測試臨時內(nèi)存表和臨時表的速度?
        1.中間表的建立使用Create temporary table type = heap 即 把中間表建立成臨時內(nèi)存表?
        2.中間表直接使用Create temporary table建立?

        實驗結(jié)果:?
        臨時內(nèi)存表: 1小時?
        1 2008-09-25 11:03:48?
        1 2008-09-25 12:03:39?
        臨時表:1小時17分鐘?
        2 2008-09-25 12:25:28?
        2 2008-09-25 13:42:37?

        由此發(fā)現(xiàn)MEMORY比MyISAM快大概20%。?

        接著查找官方手冊:?
        As indicated by the name, MEMORY tables are stored in memory. They use hash indexes by default, which makes them very fast, and very useful for creating temporary tables. However, when the server shuts down, all rows stored in MEMORY tables are lost. The tables themselves continue to exist because their definitions are stored in .frm files on disk, but they are empty when the server restarts.?

        可以看出來MEMORY確實是very fast,and very useful for creating temporary tables .把臨時表和內(nèi)存表放在一起使用確實會快不少:create table tmp2(id int not null) engine memory;?

        內(nèi)存表的建立還有一些限制條件:?
        MEMORY tables cannot contain??????? BLOB or TEXT columns.?
        HEAP不支持BLOB/TEXT列。????
        The server needs sufficient memory to maintain all?? MEMORY tables that are in use at the same time.?
        在同一時間需要足夠的內(nèi)存.?
        To free memory used by a MEMORY table when?? you no longer require its contents, you should execute DELETE or TRUNCATE TABLE, or remove the table altogether using DROP????????
        TABLE.為了釋放內(nèi)存,你應(yīng)該執(zhí)行DELETE FROM heap_table或DROP TABLE heap_table。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        mysql優(yōu)化:內(nèi)存儲器表和臨時表

        mysql優(yōu)化:內(nèi)存儲器表和臨時表:mysql優(yōu)化: 內(nèi)存表和臨時表 由于直接使用臨時表來創(chuàng)建中間表,其速度不如人意,因而就有了把臨時表建成內(nèi)存表的想法。但內(nèi)存表和臨時表的區(qū)別且并不熟悉,需要查找資料了。 一開始以為臨時表是創(chuàng)建后存在,當(dāng)連接斷開時臨時表就會被刪除,即臨時表是存在于
        推薦度:
        標(biāo)簽: 內(nèi)存 臨時 存儲器
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产精品免费αv视频| 亚洲中文字幕乱码AV波多JI| 曰批免费视频播放免费| 噜噜嘿在线视频免费观看| 亚洲国产品综合人成综合网站| 亚洲一区无码中文字幕乱码| 57pao一国产成视频永久免费| 亚洲经典在线中文字幕| 18pao国产成视频永久免费| 亚洲一级免费视频| 永久免费无码网站在线观看 | 亚洲AV色无码乱码在线观看| 特级淫片国产免费高清视频| 国产在亚洲线视频观看| 亚洲第一区在线观看| 精品国产免费一区二区三区| 亚洲综合伊人久久大杳蕉| 免费看一区二区三区四区| 亚洲视频一区在线播放| 成熟女人牲交片免费观看视频| 黄页网址在线免费观看| 亚洲精品~无码抽插| 国产a视频精品免费观看| 亚洲av永久中文无码精品综合 | 中文字幕亚洲第一在线| 无码乱肉视频免费大全合集| 亚洲精华国产精华精华液好用 | 手机永久免费的AV在线电影网| 亚洲一区二区三区自拍公司| 91成人在线免费视频| 亚洲精品乱码久久久久久蜜桃图片| 亚洲国产高清在线一区二区三区| 精品国产污污免费网站| 亚洲乱码在线观看| 国产a v无码专区亚洲av| 88xx成人永久免费观看| 天天综合亚洲色在线精品| 亚洲av日韩综合一区在线观看| 人禽杂交18禁网站免费| 国产精品无码免费专区午夜 | 亚洲精品无码久久毛片波多野吉衣|