mysql的數(shù)據(jù)壓縮性能比較-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“mysql的數(shù)據(jù)壓縮性能比較”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql的數(shù)據(jù)壓縮性能比較”吧!

創(chuàng)新互聯(lián)成立于2013年,先為伊通等服務(wù)建站,伊通等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為伊通企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。


 
1. 測(cè)試環(huán)境:
軟硬件
一臺(tái)64位2.6.18-92 內(nèi)核開發(fā)機(jī),4G內(nèi)存,4個(gè)2800Mhz Dual-Core AMD Opteron(tm) Processor 2220 CPU。
 
MySQL放在一塊7200轉(zhuǎn)SAT硬盤,未做raid;
 
MySQL未做任何優(yōu)化,關(guān)閉了query cache,目的在于避免query cache對(duì)測(cè)試結(jié)果造成干擾。
 
表結(jié)構(gòu)
2424753條記錄,生產(chǎn)環(huán)境某一個(gè)分片的實(shí)際數(shù)據(jù);
 
分別建立了(partition_by1,idx_rank) 和(partition_by1,chg_idx)的聯(lián)合索引,其中partition_by1為32長(zhǎng)度的varchar類型,用于檢索;其余兩個(gè)字段均為浮點(diǎn)數(shù),多用于排序;
 
autokid作為子增列,充當(dāng)PRIMARY KEY,僅作為數(shù)據(jù)裝載時(shí)原子性保證用,無實(shí)際意義。
 
2. 測(cè)試目的:
壓縮空間對(duì)比
壓縮率越大,占用的磁盤空間越小,直接降低數(shù)據(jù)的存儲(chǔ)成本;
 
查詢性能對(duì)比
壓縮后查詢性能不應(yīng)該有顯著降低。Archive是不支持索引的,因此性能降低是必然的,那么我們也應(yīng)該心里有個(gè)譜,到底降低了多少,能不能接受。
 
3. 測(cè)試工具:
slap
官方的工具當(dāng)然是不二之選。關(guān)于mysqlslap的介紹請(qǐng)參考 官方文檔。
 
測(cè)試query
截取生產(chǎn)環(huán)境訪問topranks_v3表的實(shí)際SQL共9973條,從中抽取訪問量較大的7條,并發(fā)50,重復(fù)執(zhí)行10次。命令如下:
 
./mysqlslap --defaults-file=../etc/my.cnf -u**** -p**** -c50 -i10 -q ../t.sql --debug-info4.測(cè)試結(jié)論
 
比較項(xiàng) 磁盤空間 耗時(shí)(秒)CPU Idle LOAD 并發(fā)
基準(zhǔn)表(MyISAM)403956004 2.308 30 15 50
ARCHIVE 75630745 >300 75 4 1
PACK 99302109 2.596 30 22 50
 
根據(jù)上面的表格給出的測(cè)試數(shù)據(jù),我們簡(jiǎn)單得出以下結(jié)論:
 
針對(duì)測(cè)試表,Archive表占用空間約為之前的18.7%,myisampack后空間占用約為之前的24.6%;二者相差不多,單純從空間利用情況來看,我們似乎需要選擇archive表;
我們?cè)倏床樵冃阅?,與基準(zhǔn)表進(jìn)行對(duì)比。無論在總耗時(shí)還是系統(tǒng)負(fù)載方面,50并發(fā)下的pack表查詢性能與基準(zhǔn)表相當(dāng);而archive表在單并發(fā)情況下耗時(shí)超過了5分鐘(實(shí)在等不了了,kill之)!
那么,我們似乎可以得出結(jié)論,針對(duì)需要在線查詢的表,ARCHIVE引擎基本上可以不考慮了。
 
為什么這個(gè)測(cè)試過程中ARCHIVE引擎如此地慢呢?
 
我們知道,mysql提供archive這種存儲(chǔ)引擎是為了降低磁盤開銷,但還有一個(gè)前提,那就是被歸檔的數(shù)據(jù)不需要或者很少被在線查詢,偶爾的查詢慢一些也是沒關(guān)系的。鑒于上述原因,archive表是不允許建立自增列之外的索引的。
 
有了這個(gè)共識(shí),我們拿一條測(cè)試SQL來分析一下不用索引前后的查詢性能差別為什么這么大。在我們的測(cè)試SQL中有這么一條:
 
SELECT c1,c2,...,cn FROM  mysqlslap.rpt_topranks_v3
WHERE ... AND partition_by1 = '50008090'
ORDER BY added_quantity3 DESC
LIMIT 500我們前邊說過,測(cè)試的這個(gè)表在partition_by1這個(gè)字段上建立了索引,那么,我們初步判斷在基準(zhǔn)表和myisampack表上,這個(gè)查詢應(yīng)該用到了partition_by1的索引;EXPLAIN一下:
 
mysql> EXPLAIN
    -> SELECT ... FROM  mysqlslap.rpt_topranks_v3
    -> WHERE ... AND partition_by1 = '50008090'
    -> ORDER BY added_quantity3 DESC
    -> LIMIT 500\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        TABLE: rpt_topranks_v3
         type: ref
possible_keys: idx_toprank_pid,idx_toprank_chg
          KEY: idx_toprank_pid
      key_len: 99
          ref: const
         rows: 2477
        Extra: USING WHERE; USING filesort
1 row IN SET (0.00 sec)正如我們所料,這個(gè)查詢用到了建立在partition_by1這個(gè)字段上的索引,匹配的目標(biāo)行數(shù)為2477,然后還有一個(gè)在added_quantity3字段上的排序。由于added_quantity3沒有索引,所以用到了filesort。
 
我們?cè)倏匆幌逻@條SQL在歸檔表上的EXPLAIN結(jié)果:
 
mysql> EXPLAIN
    -&gt; SELECT ... FROM  mysqlslap.rpt_topranks_v3_<strong>archive</strong>
    -&gt; WHERE ... AND partition_by1 = '50008090'
    -&gt; ORDER BY added_quantity3 DESC
    -&gt; LIMIT 500\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        TABLE: rpt_topranks_v3_archive
         type: ALL
possible_keys: NULL
          KEY: NULL
      key_len: NULL
          ref: NULL
         rows: 2424753
        Extra: USING WHERE; USING filesort
1 row IN SET (0.00 sec)EXPLAIN說:“我沒有索引可用,所以只能全表掃描2424753行記錄,然后再來個(gè)filesort?!蹦阋非笮阅?,那顯然是委屈MySQL了。

到此,相信大家對(duì)“mysql的數(shù)據(jù)壓縮性能比較”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:mysql的數(shù)據(jù)壓縮性能比較-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article8/cdghip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站虛擬主機(jī)、網(wǎng)站導(dǎo)航、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)