MySQLใง3ๅ„„ไปถใฎใƒฌใ‚ณใƒผใƒ‰ใ‚’็‰ฉ็†็š„ใซๅ‰Š้™คใ™ใ‚‹ใ‚นใƒˆใƒผใƒชใƒผ

ๅ‰ๆ›ธใ



ใญใˆใ€‚็งใฏใ‚ฆใ‚งใƒ–้–‹็™บ่€…ใฎningenMeใงใ™ใ€‚



ใ‚ฟใ‚คใƒˆใƒซใŒ็คบใ™ใ‚ˆใ†ใซใ€็งใฎ่ฉฑใฏMySQLใง3ๅ„„ไปถใฎใƒฌใ‚ณใƒผใƒ‰ใ‚’็‰ฉ็†็š„ใซๅ‰Š้™คใ™ใ‚‹ใ“ใจใซใคใ„ใฆใงใ™ใ€‚



ใ“ใ‚Œใซ่ˆˆๅ‘ณใ‚’ๆŒใฃใŸใฎใงใ€ใƒกใƒข๏ผˆๆŒ‡ๅฐŽ๏ผ‰ใ‚’ใ™ใ‚‹ใ“ใจใซใ—ใพใ—ใŸใ€‚



้–‹ๅง‹-ใ‚ขใƒฉใƒผใƒˆ



็งใŒไฝฟ็”จใŠใ‚ˆใณไฟๅฎˆใ—ใฆใ„ใ‚‹ใƒใƒƒใƒใ‚ตใƒผใƒใƒผใซใฏใ€MySQLใ‹ใ‚‰ๅ…ˆๆœˆใฎใƒ‡ใƒผใ‚ฟใ‚’1ๆ—ฅ1ๅ›žๅŽ้›†ใ™ใ‚‹ๅฎšๆœŸ็š„ใชใƒ—ใƒญใ‚ปใ‚นใŒใ‚ใ‚Šใพใ™ใ€‚



้€šๅธธใ€ใ“ใฎใƒ—ใƒญใ‚ปใ‚นใฏ็ด„1ๆ™‚้–“ใงๅฎŒไบ†ใ—ใพใ™ใŒใ€ไปŠๅ›žใฏ7ๆ™‚้–“ใพใŸใฏ8ๆ™‚้–“ๅฎŒไบ†ใ›ใšใ€ใ‚ขใƒฉใƒผใƒˆใฎๅ‡บๅŠ›ใŒๅœๆญขใ™ใ‚‹ใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸ...



็†็”ฑใ‚’ๆŽขใ™



ใƒ—ใƒญใ‚ปใ‚นใ‚’ๅ†้–‹ใ—ใฆใƒญใ‚ฐใ‚’็ขบ่ชใ—ใ‚ˆใ†ใจใ—ใพใ—ใŸใŒใ€ใฒใฉใ„ใ‚‚ใฎใฏไฝ•ใ‚‚่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚

ใƒชใ‚ฏใ‚จใ‚นใƒˆใฏๆญฃใ—ใใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นไป˜ใ‘ใ•ใ‚Œใพใ—ใŸใ€‚ใ—ใ‹ใ—ใ€ไฝ•ใŒๅ•้กŒใชใฎใ‹็–‘ๅ•ใซๆ€ใฃใŸใจใใ€ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใฎใ‚ตใ‚คใ‚บใŒ้žๅธธใซๅคงใใ„ใ“ใจใซๆฐ—ไป˜ใใพใ—ใŸใ€‚



hoge_table | 350'000'000 |


3ๅ„„5000ไธ‡ใƒฌใ‚ณใƒผใƒ‰ใ€‚ใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นไฝœๆˆใฏๆญฃใ—ใๆฉŸ่ƒฝใ—ใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™ใŒใ€้žๅธธใซ้…ใ„ใงใ™ใ€‚



1ใ‹ๆœˆใซๅฟ…่ฆใชใƒ‡ใƒผใ‚ฟๅŽ้›†ใฏ็ด„12,000,000ใƒฌใ‚ณใƒผใƒ‰ใงใ—ใŸใ€‚selectใ‚ณใƒžใƒณใƒ‰ใซๆ™‚้–“ใŒใ‹ใ‹ใ‚Šใ€ใƒˆใƒฉใƒณใ‚ถใ‚ฏใ‚ทใƒงใƒณใŒ้•ทๆ™‚้–“ๅฎŸ่กŒใ•ใ‚Œใชใ‹ใฃใŸใ‚ˆใ†ใงใ™ใ€‚



DB



ๅŸบๆœฌ็š„ใซใฏใ€ๆฏŽๆ—ฅ็ด„40ไธ‡ใƒฌใ‚ณใƒผใƒ‰ใšใคๅข—ใˆใ‚‹ใƒ†ใƒผใƒ–ใƒซใงใ™ใ€‚ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใฏๅ…ˆๆœˆใฎใฟใƒ‡ใƒผใ‚ฟใ‚’ๅŽ้›†ใ™ใ‚‹ใ“ใจใซใชใฃใฆใ„ใŸใŸใ‚ใ€ๆญฃ็ขบใซใ“ใฎ้‡ใฎใƒ‡ใƒผใ‚ฟใซ่€ใˆใ‚‰ใ‚Œใ‚‹ใจใ„ใ†ไบ‹ๅฎŸใซๅŸบใฅใ„ใฆ่จˆ็ฎ—ใ•ใ‚Œใพใ—ใŸใŒใ€ๆฎ‹ๅฟตใชใŒใ‚‰ใ€ใƒญใƒผใƒ†ใƒผใ‚ทใƒงใƒณๆ“ไฝœใฏๅซใพใ‚Œใฆใ„ใพใ›ใ‚“ใงใ—ใŸใ€‚



ใ“ใฎใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใฏ็งใŒ้–‹็™บใ—ใŸใ‚‚ใฎใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ๅˆฅใฎ้–‹็™บ่€…ใ‹ใ‚‰ๅผ•ใ็ถ™ใ„ใ ใฎใงใ€ๆŠ€่ก“็š„ใชๅ€Ÿ้‡‘ใฎใ‚ˆใ†ใซๆ„Ÿใ˜ใพใ—ใŸใ€‚



ๆฏŽๆ—ฅๆŒฟๅ…ฅใ•ใ‚Œใ‚‹ใƒ‡ใƒผใ‚ฟ้‡ใŒๅคšใใชใ‚Šใ€ใ‚ˆใ†ใ‚„ใ้™็•Œใซ้”ใ—ใŸ็žฌ้–“ใŒ่จชใ‚Œใพใ—ใŸใ€‚ใ“ใฎใ‚ˆใ†ใชๅคง้‡ใฎใƒ‡ใƒผใ‚ฟใ‚’ๆ‰ฑใ†ๅ ดๅˆใฏใ€ใใ‚Œใ‚‰ใ‚’ๅˆ†้›ขใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใจๆƒณๅฎšใ•ใ‚Œใพใ™ใŒใ€ๆฎ‹ๅฟตใชใŒใ‚‰ใ€ใ“ใ‚ŒใฏๅฎŸ่กŒใ•ใ‚Œใพใ›ใ‚“ใงใ—ใŸใ€‚



ใใ—ใฆใ€็งใฏ่ถณใ‚’่ธใฟๅ…ฅใ‚Œใพใ—ใŸใ€‚



่ฃœๆญฃ



ใƒญใ‚ธใƒƒใ‚ฏ่‡ชไฝ“ใ‚’ๅค‰ๆ›ดใ™ใ‚‹ใ‚ˆใ‚Šใ‚‚ใ€ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚น่‡ชไฝ“ใ‚’ๆธ›ใ‚‰ใ—ใฆๅ‡ฆ็†ใซใ‹ใ‹ใ‚‹ๆ™‚้–“ใ‚’็Ÿญ็ธฎใ™ใ‚‹ๆ–นใŒๅˆ็†็š„ใงใ—ใŸใ€‚



3ๅ„„ๆžšใฎใƒฌใ‚ณใƒผใƒ‰ใŒๆถˆๅŽปใ•ใ‚Œใ‚Œใฐ็Šถๆณใฏๅคงใใๅค‰ใ‚ใ‚‹ใฏใšใชใฎใงใ€ใใ†ใ™ใ‚‹ใ“ใจใซใ—ใพใ—ใŸโ€ฆใˆใƒผใ€้–“้•ใ„ใชใใ†ใพใใ„ใใจๆ€ใ„ใพใ—ใŸใ€‚



ใ‚นใƒ†ใƒƒใƒ—1



ไฟก้ ผใงใใ‚‹ใƒใƒƒใ‚ฏใ‚ขใƒƒใƒ—ใ‚’ๆบ–ๅ‚™ใ—ใŸใฎใงใ€ใ‚ˆใ†ใ‚„ใใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’้€ไฟกใ—ๅง‹ใ‚ใพใ—ใŸใ€‚



ใ€Œใƒชใ‚ฏใ‚จใ‚นใƒˆใฎ้€ไฟกใ€



DELETE FROM hoge_table WHERE create_time <= 'YYYY-MM-DD HH:MM:SS';


ใ€Œ...ใ€



ใ€Œ...ใ€



ใ€Œใ†ใƒผใ‚“โ€ฆ็„กๅ›ž็ญ”ใ€‚ใŸใถใ‚“ใ€ใƒ—ใƒญใ‚ปใ‚นใซๆ™‚้–“ใŒใ‹ใ‹ใฃใฆใ„ใ‚‹ใฎใงใ—ใ‚‡ใ†ใ‹๏ผŸใ€-ๆ€ใฃใŸใฎใงใ™ใŒใ€ใ‚ฐใƒฉใƒ•ใ‚กใƒŠใ‚’่ฆ‹ใฆใ€ใƒ‡ใ‚ฃใ‚นใ‚ฏใฎ่ฒ ่ทใŒๆ€ฅๆฟ€ใซๅข—ๅŠ ใ—ใฆใ„ใ‚‹ใฎใ‚’่ฆ‹ใŸๅ ดๅˆใซๅ‚™ใˆใฆใ€‚

ใ€Œๅฑ้™บใ€-ใ‚‚ใ†ไธ€ๅบฆ่€ƒใˆใฆใ€ใ™ใใซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ๅœๆญขใ—ใพใ—ใŸใ€‚



ใ‚นใƒ†ใƒƒใƒ—2



ใ™ในใฆใ‚’ๅˆ†ๆžใ—ใŸๅพŒใ€ใƒ‡ใƒผใ‚ฟใฎ้‡ใŒๅคšใ™ใŽใฆไธ€ๅบฆใซใ™ในใฆใ‚’ๅ‰Š้™คใงใใชใ„ใ“ใจใซๆฐ—ไป˜ใใพใ—ใŸใ€‚



็ด„1,000,000ไปถใฎใƒฌใ‚ณใƒผใƒ‰ใ‚’ๅ‰Š้™คใงใใ‚‹ใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’ไฝœๆˆใ—ใฆๅฎŸ่กŒใ™ใ‚‹ใ“ใจใซใ—ใพใ—ใŸใ€‚



ใ€Œใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’ๅฎŸ่ฃ…ใ—ใพใ™ใ€



ใ€Œใ“ใ‚Œใง้–“้•ใ„ใชใๅ‹•ไฝœใ—ใพใ™ใ€ใจๆ€ใ„ใพใ—ใŸ



ใ‚นใƒ†ใƒƒใƒ—3



2็•ช็›ฎใฎๆ–นๆณ•ใฏๆฉŸ่ƒฝใ—ใพใ—ใŸใŒใ€้žๅธธใซๆ™‚้–“ใŒใ‹ใ‹ใ‚‹ใ“ใจใŒใ‚ใ‹ใ‚Šใพใ—ใŸใ€‚

ไฝ™ๅˆ†ใช็ฅž็ตŒใ‚’ไฝฟใ‚ใšใซใ™ในใฆใ‚’ใใกใ‚“ใจ่กŒใ†ใซใฏใ€็ด„2้€ฑ้–“ใ‹ใ‹ใ‚Šใพใ™ใ€‚ใ—ใ‹ใ—ใ€ใใ‚Œใงใ‚‚ใ€ใ“ใฎใ‚ทใƒŠใƒชใ‚ชใฏใ‚ตใƒผใƒ“ใ‚น่ฆไปถใ‚’ๆบ€ใŸใ—ใฆใ„ใชใ„ใŸใ‚ใ€็งใฏใใ‚Œใ‹ใ‚‰้›ขใ‚Œใชใ‘ใ‚Œใฐใชใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚



ใ—ใŸใŒใฃใฆใ€ใ“ใ‚ŒใŒ็งใŒใ‚„ใ‚‹ใ“ใจใซๆฑบใ‚ใŸใ‚‚ใฎใงใ™๏ผš



ใƒ†ใƒผใƒ–ใƒซใ‚’ใ‚ณใƒ”ใƒผใ—ใฆๅๅ‰ใ‚’ๅค‰ๆ›ดใ—ใพใ™



ๅ‰ใฎใ‚นใƒ†ใƒƒใƒ—ใ‹ใ‚‰ใ€ใ“ใฎใ‚ˆใ†ใชๅคง้‡ใฎใƒ‡ใƒผใ‚ฟใ‚’ๅ‰Š้™คใ™ใ‚‹ใจใ€ๅŒใ˜ใ‚ˆใ†ใซๅคงใใช่ฒ ่ทใŒ็™บ็”Ÿใ™ใ‚‹ใ“ใจใซๆฐ—ไป˜ใใพใ—ใŸใ€‚ใใฎใŸใ‚ใ€ๆŒฟๅ…ฅใ‚’ไฝฟ็”จใ—ใฆๆ–ฐใ—ใ„ใƒ†ใƒผใƒ–ใƒซใ‚’ๆœ€ๅˆใ‹ใ‚‰ไฝœๆˆใ—ใ€ๅ‰Š้™คใ™ใ‚‹ใƒ‡ใƒผใ‚ฟใ‚’ใใฎใƒ†ใƒผใƒ–ใƒซใซ็งปๅ‹•ใ™ใ‚‹ใ“ใจใซใ—ใพใ—ใŸใ€‚



| hoge_table     | 350'000'000|
| tmp_hoge_table |  50'000'000|


ๆ–ฐใ—ใ„ใƒ†ใƒผใƒ–ใƒซใ‚’ไธŠ่จ˜ใจๅŒใ˜ใ‚ตใ‚คใ‚บใซใ™ใ‚‹ใจใ€ๅ‡ฆ็†้€Ÿๅบฆใ‚‚1/7้€Ÿใใชใ‚Šใพใ™ใ€‚



ใƒ†ใƒผใƒ–ใƒซใ‚’ไฝœๆˆใ—ใฆๅๅ‰ใ‚’ๅค‰ๆ›ดใ—ใŸๅพŒใ€ใƒžใ‚นใ‚ฟใƒผใƒ†ใƒผใƒ–ใƒซใจใ—ใฆไฝฟ็”จใ—ๅง‹ใ‚ใพใ—ใŸใ€‚3ๅ„„ใƒฌใ‚ณใƒผใƒ‰ใฎใƒ†ใƒผใƒ–ใƒซใ‚’ใƒ‰ใƒญใƒƒใƒ—ใ™ใ‚‹ใจใ€ใ™ในใฆๅ•้กŒใชใ„ใฏใšใงใ™ใ€‚

ๅˆ‡ใ‚ŠๆจใฆใพใŸใฏๅ‰Š้™คใฏๅ‰Š้™คใ‚ˆใ‚Šใ‚‚ใ‚ชใƒผใƒใƒผใƒ˜ใƒƒใƒ‰ใŒๅฐ‘ใชใ„ใ“ใจใŒใ‚ใ‹ใ‚Šใ€ใใฎๆ–นๆณ•ใ‚’ไฝฟ็”จใ™ใ‚‹ใ“ใจใซใ—ใพใ—ใŸใ€‚



ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚น



ใ€Œใƒชใ‚ฏใ‚จใ‚นใƒˆใฎ้€ไฟกใ€



INSERT INTO tmp_hoge_table SELECT FROM hoge_table create_time > 'YYYY-MM-DD HH:MM:SS';


ใ€Œ...ใ€

ใ€Œ...ใ€

ใ€Œใˆใˆใจ...๏ผŸใ€



ใ‚นใƒ†ใƒƒใƒ—4



ๅ‰ใฎใ‚ขใ‚คใƒ‡ใ‚ขใฏใ†ใพใใ„ใใจๆ€ใ„ใพใ—ใŸใŒใ€ๆŒฟๅ…ฅใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’้€ไฟกใ—ใŸๅพŒใ€่ค‡ๆ•ฐใฎใ‚จใƒฉใƒผใŒ่กจ็คบใ•ใ‚Œใพใ—ใŸใ€‚MySQLใฏใ‚นใƒšใ‚ขใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚



็งใฏใ™ใงใซใจใฆใ‚‚็–ฒใ‚Œใฆใ„ใŸใฎใงใ€ใ‚‚ใ†ใ“ใ‚Œใ‚’ใ‚„ใ‚ŠใŸใใชใ„ใจๆ€ใ„ๅง‹ใ‚ใพใ—ใŸใ€‚



็งใฏๅบงใฃใฆ่€ƒใˆใ€ไธ€ๅบฆใซๆŒฟๅ…ฅ่ฆๆฑ‚ใŒๅคšใ™ใŽใ‚‹ใ“ใจใซๆฐ—ใฅใใพใ—ใŸ...

ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใŒ1ๆ—ฅใซๅ‡ฆ็†ใ™ใ‚‹ๅฟ…่ฆใฎใ‚ใ‚‹ใƒ‡ใƒผใ‚ฟ้‡ใฎๆŒฟๅ…ฅ่ฆๆฑ‚ใ‚’้€ไฟกใ—ใ‚ˆใ†ใจใ—ใพใ—ใŸใ€‚่ตทใ“ใ‚Šใพใ—ใŸ๏ผ



ใใฎๅพŒใ‚‚ใ€ๅŒใ˜้‡ใฎใƒ‡ใƒผใ‚ฟใฎใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’้€ไฟกใ—็ถšใ‘ใพใ™ใ€‚ๆฏŽๆœˆใฎใƒ‡ใƒผใ‚ฟใ‚’ๅ‰Š้™คใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใŸใ‚ใ€ใ“ใฎๆ“ไฝœใ‚’็ด„35ๅ›ž็นฐใ‚Š่ฟ”ใ—ใพใ™ใ€‚



ใƒ†ใƒผใƒ–ใƒซใฎๅๅ‰ใ‚’ๅค‰ๆ›ดใ™ใ‚‹



ใ“ใ“ใงใ€้‹ใฏ็งใฎๅดใซใ‚ใ‚Šใพใ—ใŸ๏ผšใ™ในใฆใŒ้ †่ชฟใซ้€ฒใฟใพใ—ใŸใ€‚



ใ‚ขใƒฉใƒผใƒˆใŒๆถˆใˆใพใ—ใŸ



ใƒใƒƒใƒๅ‡ฆ็†้€ŸๅบฆใŒๅ‘ไธŠใ—ใพใ—ใŸใ€‚



ไปฅๅ‰ใฏใ€ใ“ใฎใƒ—ใƒญใ‚ปใ‚นใซใฏ็ด„1ๆ™‚้–“ใ‹ใ‹ใ‚Šใพใ—ใŸใŒใ€็พๅœจใฏ็ด„2ๅˆ†ใ‹ใ‹ใ‚Šใพใ™ใ€‚



ใ™ในใฆใฎๅ•้กŒใŒ่งฃๆฑบใ—ใŸใจ็ขบไฟกใ—ใŸๅพŒใ€3ๅ„„ไปถใฎใƒฌใ‚ณใƒผใƒ‰ใ‚’ๅ‰Š้™คใ—ใพใ—ใŸใ€‚ใ‚นใƒ—ใƒฌใƒƒใƒ‰ใ‚ทใƒผใƒˆใ‚’ๅ‰Š้™คใ—ใฆใ€็”Ÿใพใ‚Œๅค‰ใ‚ใฃใŸใจๆ„Ÿใ˜ใพใ—ใŸใ€‚



่ฆ็ด„



ใƒใƒƒใƒๅ‡ฆ็†ใงใฏๅ›ž่ปขๅ‡ฆ็†ใŒ่ฆ‹่ฝใจใ•ใ‚ŒใฆใŠใ‚Šใ€ใใ‚ŒใŒไธปใชๅ•้กŒใงใ‚ใ‚‹ใ“ใจใซๆฐ—ใฅใใพใ—ใŸใ€‚ใ“ใฎใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃไธŠใฎใ‚จใƒฉใƒผใฏๆ™‚้–“ใฎ็„ก้ง„ใงใ™ใ€‚



ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใ‹ใ‚‰ใƒฌใ‚ณใƒผใƒ‰ใ‚’ๅ‰Š้™คใ™ใ‚‹ใ“ใจใซใ‚ˆใ‚‹ใƒ‡ใƒผใ‚ฟ่ค‡่ฃฝใฎ่ฒ ่ทใซใคใ„ใฆ่€ƒใˆใพใ™ใ‹๏ผŸMySQLใซ้Ž่ฒ ่ทใ‚’ใ‹ใ‘ใชใ„ใ‚ˆใ†ใซใ—ใพใ—ใ‚‡ใ†ใ€‚



ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใซ็ฒพ้€šใ—ใฆใ„ใ‚‹ไบบใฏใ€้–“้•ใ„ใชใใใฎใ‚ˆใ†ใชๅ•้กŒใซ็›ด้ขใ™ใ‚‹ใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ๆฎ‹ใ‚Šใฎ้ƒจๅˆ†ใซใคใ„ใฆใฏใ€ใ“ใฎ่จ˜ไบ‹ใŒใŠๅฝนใซ็ซ‹ใฆใฐๅนธใ„ใงใ™ใ€‚



่ชญใ‚“ใงใใ‚Œใฆใ‚ใ‚ŠใŒใจใ†๏ผ



ใ“ใฎ่จ˜ไบ‹ใŒๆฐ—ใซๅ…ฅใฃใŸใ‚‰ใ€็ฟป่จณใฏๆ˜Ž็ขบใงใ—ใŸใ‹ใ€ๅฝนใซ็ซ‹ใกใพใ—ใŸใ‹๏ผŸ



All Articles