mysql Å×À̺í ÆÄƼ¼Å´× Áú¹®

djkneg883   
   Á¶È¸ 1375   Ãßõ 0    

 안녕하세요.

MySQL 테이블 파티셔닝 관련해서 고민중이 내용이 있어서 조언을 구하고자 글을 남깁니다.

10년치 데이터 테이블은 연도별로 나누려고 합니다.

테이블 파티셔닝이라는게 있던데, Range 파티셔닝을 이용해서 테이블 파티셔닝을 했을때와

테이블은 단순히 한개의 기준일자를 잡아서 연도별로 나누는것과 비교를 하면 어떤 장단점이 있는지 궁금합니다.


1. 테이블 파티셔닝

ListTable이라는 1개의 테이블에 10년치 데이터를 넣고, 아래와 같이 관리하는 방법

ALTER TABLE `ListTable` PARTITION BY RANGE (TO_DAYS(`regDt`)) (

   PARTITION P_2019 VALUES LESS THAN (TO_DAYS('2020-01-01')) ENGINE = MYISAM,

   PARTITION P_2020 VALUES LESS THAN (TO_DAYS('2021-01-01')) ENGINE = MYISAM,

   ......

)


2. 단순 테이블 나누기

ListTable_2019, ListTable_2020, ListTable_2021 ....

이런식으로 전부 테이블을 만들고 데이터를 관리하는 방법


위와 같이 했을 때, 만약 regDt 범위를 2019.05.01 ~ 2020.12.31 이렇게 검색을 한다면

1번의 경우 select * from ListTable where regDt between '2019-05-01' and '2020-12-31' 이렇게 단순하게 하면 될것 같지만

2번의 경우 (select * from ListTable_2019 where where regDt between '2019-05-01' and '2020-12-31') UNION ALL (select * from ListTable_2020 where where regDt between '2019-05-01' and '2020-12-31') 이렇게 하는게 맞는지요?


정리를 하자면,

질문1. 테이블 파티셔닝과 테이블을 단순하게 나눴을때의 장단점이 어떤게 있는지 궁금합니다.

질문2. regDt 범위를 2019.05.01 ~ 2020.12.31 이렇게 검색한다면 제가 생각하는게 맞는건지 궁금합니다. 2번의 경우 더 나은방법이 있는지도 궁금합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
MySQLµµ ´Ù¸¥ DBMS¶û º° Â÷ÀÌ°¡ ¾ø¾î
https://velog.io/@ryuhyewon/%ED%8C%8C%ED%8B%B0%EC%85%98-%EC%9E%A5%EB%8B%A8%EC%A0%90
¹®¼­ Âü°íÇÏ½Ã¸é µÉ °Í °°½À´Ï´Ù.

Å×À̺íÀ» ºÐÇÒÇØ
UNION ALL À» »ç¿ëÇØ¾ß ÇÒ °æ¿ì°¡ ¸¹´Ù¸é ÆÄƼ¼Å´× ÇÏ´Â °ÍÀ» Ãßõ ÇÕ´Ï´Ù.
µ¥ÀÌÅÍ°¡ ¾ó¸¶³ª ¸¹ÀºÁö ¸ð¸£°ÚÁö¸¸ ´ë¿ë·®ÀÌ ¾Æ´Ï¸é ÆÄƼ¼Å´×µµ ÇÏÁö ¾Ê¾Æµµ ...
ĵÀ§µå 2023-02
°³ÀÎÀûÀÎ »ý°¢ÀÔ´Ï´Ù. ´Ü¼ø Âü°í ÇØÁÖ¼¼¿ä^^

1. Å×À̺í ÆÄƼ¼Å´×Àº ¾îÇø®ÄÉÀ̼ÇÀ» ¼öÁ¤ÇÏÁö ¾Ê¾Æµµ µÇ´Â°Ô ÀåÁ¡À̶ó°í »ý°¢ÇÕ´Ï´Ù.
  Å×À̺íÀ» ´Ü¼øÇÏ°Ô ³ª´©´Â°Ç ¾îÇø®ÄÉÀ̼ÇÀÌµç ¾Æ´Ï¸é À̺¥Æ® ½ºÄÉÁÙ·¯¸¦ °Éµç Ãß°¡ ÀÛ¾÷ÀÌ ÇÊ¿äÇϴٴ°Å.. °³¹ßÀÚ´Â ºý¼¼Áö¸¸ ¾î·µç ´«¿¡ º¸ÀÌ´Â °ü¸®¶ó´Â°Ô ÀåÁ¡ÀÎ°Í °°°í¿ä.

2. ÆÄƼ¼Å´×µÈ Å×À̺íÀº »ý°¢ÇϽŠ´ë·Î ¾²¸é µÇ°í¿ä.
  ´Ü¼øÇÏ°Ô ³ª´« Å×ÀÌºíµµ ±×·±½ÄÀ¸·Î ÇÏ½Ã¸é µË´Ï´Ù. º¹ÀâÇÏÁÒ...

±×·¡¼­ ´ëÇü ¼îÇθô(Áö¸¶ÄÏ,11¹ø°¡,ÄíÆÎ,µîµîµî..) ¸ðµç ÀºÇàµé º¸½Ã¸é ¹üÀ§ °Ë»öÀÌ Á¦ÇÑÀû ÀÏ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.. ÃÖ±Ù ¸î´Þ ¶Ç´Â ¾ðÁ¦ºÎÅÍ ¾ðÁ¦±îÁö ÁöÁ¤.

°³ÀÎÀûÀÎ »ý°¢À¸·Î °³¹ß,¼­¹ö,¿î¿µ,±âȹ,¿¹»ê µîµî ´«¾ÕÀÇ Çö½ÇÀº »óȲ¸¶´Ù ´Ù¸£±â¿¡ Á¤ÇØÁø Á¤´äÀº µû·Î ¾ø´Ù°í º¾´Ï´Ù.
°¡·É ¹¹ °í¼º´É/°í¿ë·® u.2 ssd ·¹À̵å À̺üÀÌ ¹­´Â ½ÄÀ¸·Î Áï, Çϵå¿þ¾î·Î ¹Ð¾î ºÙÀÌ´Â °Í ¶ÇÇÑ °¡´ÉÇÑ ¹æ¹ýÀÌ µÉ ¼ö ÀÖÁÒ
¼úÀÌ 2023-02
Å×À̺íÀÌ ´ë¿ë·®À϶§ÀÇ ¹®Á¦Á¡À» »ý°¢Çϸé ÀÌÇØ°¡ ºü¸¦°Ì´Ï´Ù.
ƯÁ¤ºÎºÐ °Ë»öÇÒ·Á°í ÇÏ¸é ¼û³Ñ¾î°©´Ï´Ù. ±×·±µ¥ ÀÌ°É Å×À̺í´ÜÀ§·Î ÂÉ°³¹ö¸®¸é ¾îÇø®ÄÉÀÌ¼Ç ´Ü¿¡µµ ÄÚµùÀ» ´Ù½ÃÇؾߵǴ ¹®Á¦°¡ »ý±â°Ô µË´Ï´Ù.
±×·¡¼­ Å×À̺í ÆÄƼ¼ÇÀ̶õ°Ô ÇÊ¿äÇÑ°Ì´Ï´Ù.
°Ë»ö¹üÀ§°¡ ÆÄƼ¼Ç´ÜÀ§·Î ±¸ºÐµÇ´Ùº¸´Ï ¼º´ÉÀÌ ÈξÀ °³¼±µË´Ï´Ù.
MySQLÀº ÆÄƼ¼Ç±îÁö¸¸ Áö¿øµÇ´ÂÁö´Â ¸ð¸£°ÚÀ¸³ª MSSQL ±âÁØÀ¸·Î º»´Ù¸é ÆÄƼ¼Ç ±¸ºÐº°·Î ¾ÐÃàÅ×À̺íÀ» ÁöÁ¤ÇÒ¼ö°¡ ÀÖ°í Å×ÀÌÅÍ ³¯¸±¶§µµ ÆÄƼ¼ÇID·Î Çѹ濡 ³¯¸±¼ö À־ À¯Áö°ü¸®Çϴµ¥µµ ÈξÀ ¿ëÀÌÇÕ´Ï´Ù.

Å×À̺íÆÄƼ¼ÇÀÇ ±âÁØÀº ´ë¿ë·®À̶ó´Â ±âÁØ°ú ¼º´É°ú À¯Áö°ü¸®¿¡ ÀÖ½À´Ï´Ù.
°­Çѱ¸ 2023-02
°³¹ßÀÚÀÇ ÀÔÀå¿¡¼­´Â
±×³É Å×À̺íÀ» ºÐ¸®ÇÕ´Ï´Ù
Á»´õ º¹ÀâÇÏ°ÔÇÏ¸é ½Ç½Ã°£ db¿ëÀ¸·ÎÇÏ°í
ÀÌÀü ³â´ÜÀ§ µ¥ÀÌÅÍ´Â ´Ù¸¥ db¿¡ ³Ö¾î¹ö¸®°í
½Ç½Ã°£ ¿î¿µ¿¡ ÇÊ¿äÇÑ db´Â º¹Á¦ db¸¸µé¾î¼­ ½Ç½Ã°£ ¹é¾÷ db·Î µ¿±âÈ­ÇÕ´Ï´Ù

ÀåÁ¡Àº º¹±¸°¡ ÇÊ¿äÇÒ¶§ ¿ë·®ÀÌ ÁÙ¾îµé¾î¼­ ¸îºÐ³»·Î ÇѴٴ°ŠÇϳª¹Û¿¡ ¾ø½À´Ï´Ù¸¸
¼­ºñ½º¿ëµµ´Â ÀÌÁ¤µµ±îÁö Çغþú³×¿ä


QnA
Á¦¸ñPage 348/5686
2015-12   1506939   ¹é¸Þ°¡
2014-05   4970652   Á¤ÀºÁØ1
2007-05   5141   ±èÀ±¼ú
2006-12   4586   È«¼øö
2002-09   12285   ±èÁö¼º
2003-06   11250   ¼Û»óº´
2007-06   5850   ¿À¼º±â
2003-12   10207   À̽ÂÇö
2004-04   7887   Çѵ¿ÈÆ
2004-11   7225   °­Èñ¹Î
2004-03   8862   ±èÇÑÁØ
2005-09   5251   Ȳ¿ì½½
2005-03   6573   ÀÎÄ¡µ¿
2007-06   5220   ³ª°­¹®
2005-07   5658   ÀÌÀç±Ù
2006-08   6298   ±è±Ô¿ø
2007-02   5034   ÀÌö
2007-06   4993   Á¤ÀçÈÆ
2003-05   10266   ÀÌÁÖÈñ
2006-06   4971   À±¿µ¹è
2005-04   5830   ±è½ÂÈñ
2006-11   4725   ÀÌÀç¼±