<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MySQL 的一次百萬級數(shù)據(jù)快速去重經(jīng)驗(yàn)分享

          共 795字,需瀏覽 2分鐘

           ·

          2021-06-01 16:37

          最近在處理項(xiàng)目組的一個數(shù)據(jù)集,數(shù)據(jù)量每張表在百萬級,由于數(shù)據(jù)量較大在數(shù)據(jù)下載和處理方面都可以說是曠日持久,這篇記錄一下相關(guān)的經(jīng)驗(yàn)。

          「數(shù)據(jù)下載」

          拿到的數(shù)據(jù)是在遠(yuǎn)程數(shù)據(jù)庫里面,原先打算直接從遠(yuǎn)程庫里下載 csv 或 txt 到電腦上,但在 mysql 上進(jìn)行這樣的操作好像不是很方便速度也很慢。

          目前在使用的方法是將遠(yuǎn)程數(shù)據(jù)庫里面的數(shù)據(jù)導(dǎo)出為 sql 到本地,導(dǎo)入本地數(shù)據(jù)庫后進(jìn)行操作,但這一過程也很緩慢,一個百萬級數(shù)據(jù)庫在 navicat 里面可能要導(dǎo)個半個小時,在命令行可能會快一點(diǎn)但沒有嘗試。

          「MySQL中的去重」

          基本思路是復(fù)制原表 A 結(jié)構(gòu)新建一個表 B,對表 B 添加 UNIQUE 約束,然后將表 A 中的數(shù)據(jù)逐條插入表 B,約束會自動實(shí)現(xiàn)去重。

          復(fù)制表結(jié)構(gòu)

          CREATE TABLE newTable LIKE oldTable;

          修改表字段,因?yàn)?httpURL 太大

          ALTER TABLE newTable MODIFY httpURL VARCHAR(300);

          為表格添加約束條件(在Mysql5中,如果約束字段過大,則報錯,因此要先執(zhí)行上面的修改表字段)

          ALTER TABLE newTable ADD UNIQUE(IP,timeStart);

          為新表中添加數(shù)據(jù)(約束條件自動去重)

          INSERT IGNORE newTable

          SELECT \* FROM newTable

          ORDER BY IP,timeStart;

          測試的表數(shù)據(jù)量在三百萬左右,去重后數(shù)據(jù)在二百萬左右,在 navicat 實(shí)現(xiàn)時間2168.470s,命令行應(yīng)該會更快。

          瀏覽 110
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  性爱视频大香蕉 | 婷婷久久综合久色 | 亚洲国产高清无码 | 手机免费A V | 做爱网站免费 |