PostgreSQL을 이용하고 있습니다.
시스템은 Debian 에서 PostgreSQL 14, AMD 5900X, 1TB NVme를 이용합니다.
보통 분기별로 작업을 하는데 다음과 같은 형식의 UPDATE 구문이 많이 있고, 이러한 작업에서 많은 시간이 소요됩니다.
시작부터 종료까지 대략 1주일 걸립니다.
UPDATE H1.measurement AS a SET id = b.id FROM M.measurement AS b WHERE a.source_value= b.source_value;
UPDATE H2.measurement AS a SET id = b.id FROM M.measurement AS b WHERE a.source_value= b.source_value;
UPDATE H3.measurement AS a SET id = b.id FROM M.measurement AS b WHERE a.source_value= b.source_value;
UPDATE H4.measurement AS a SET id = b.id FROM M.measurement AS b WHERE a.source_value= b.source_value;
이 4개의 쿼리를 동시에 실행하는 것이 시간이 적게 걸릴지, 아니면 순차적으로 하는 것이 시간이 적게 걸리는지 궁금합니다.
PostgreSQL에서 MariaDB 등으로 갈아타면 속도가 빨라질까요? ㅠ
top 명령어로 보면 wait 비율이 높아서 뭔가 설정을 바꿔주면 좋을 것 같은 부분도 있을 것 같기는 한데.. 잘 모르겠습니다.
explan °É¾î¼ ¾î¶² °úÁ¤À» °ÅÄ¡´ÂÁö È®ÀÎÇغ¸¼¼¿ä.
https://ktdsoss.tistory.com/133
update ±¸¹®ÀÌ ÃÑ ¸î ÁÙÀÎÁö´Â ¸ð¸£°ÚÀ¸³ª, ÀÏÁÖÀÏÀÌ °É¸±Á¤µµ·Î ½Ã°£ÀÌ ¿À·¡ °É¸°´Ù¸é
µ¥ÀÌÅÍ ÀúÀåÀÌ ÀüÇô ÃÖÀûÈ µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
¿øº» DB´Â °è¼Ó µ¹¾Æ¾ß ÇÏ´Ï, »ç¿ëÀÌ Á¦ÀÏ ÀûÀº ½Ã°£¿¡ DB¸¦ ´ýÇÁ ¶°¼ ´Ù¸¥ ½Ã½ºÅÛ Çϳª¸¦ ´õ ¸¸µé¾î ³õ°í °Å±â¼ ÃÖÀûȸ¦ °í¹ÎÇØ º¸´Â°Ô ÁÁ°Ú½À´Ï´Ù.
±×¸®°í PostgreSQLÀ» ¾²´Ù°¡ MariaDB·Î ¿Å±â´Â °ÍÀº ÁßÇü±Þ ¼¼´ÜÀ» ¸ô´Ù°¡ °æÂ÷·Î °¥¾ÆŸ´Â °Í°ú °°½À´Ï´Ù.
PostgreSQLÀÌ ÈξÀ´õ ±â´Éµµ ¸¹°í ´Ù¾çÇÑ ÀÀ¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. ¹°·Ð ±×°Ô ´õ ºü¸£´Ù´Â °ÍÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù.
´Ù¸¸ Áö±ÝÀÇ »óȲÀº DB¼º´ÉÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó ÃÖÀûÈÀÇ ¹®Á¦·Î º¸ÀÔ´Ï´Ù.
µ¥ÀÌÅÍÀÇ ¾ç°ú ±¸Á¶¸¦ ¾Ë¾Æ¾ßÇÒ°Í °°½À´Ï´Ù.
MYSQL°ú Postgresql ÀÇ µ¥ÀÌÅÍ ÀúÀå¹æ½Ä¿¡ µû¶ó¼ updateÀÇ ¼º´Éµµ Â÷ÀÌ°¡ ÀÖ±äÇѵ¥¿ä update°¡ mysqlÀÌ Á»´õ À¯¸®ÇϱäÇÕ´Ï´Ù¸¸
Áö±Ý µ¥ÀÌÅ;çÀÌ ¾ó¸¶³ªµÇ´ÂÁö´Â ¸ð¸£°ÚÀ¸³ª ÀÏÁÖÀÏÀ̳ª °É¸®´Â°Ç Á» ¹®Á¦°¡ ÀÖ´Â°Í °°³×¿ä
Ãß°¡ÀûÀ¸·Î EXPLAIN, ANALYZE °á°úµµ ¿Ã·ÁÁֽøé È®Àο¡ ÀÖ¾î¼ À¯ÀǹÌÇÒ°Í °°³×¿ä
ÀÌ°Ç Å×À̺í°Ç¼ö,Å×ÀÌºí »çÀÌÁî¿¡ºñ·ÊÇؼ ½Ã°£ÀÌ °É¸³´Ï´Ù
ÀÌ·±ÀÛ¾÷Àº ÀÏ¹Ý dbms´Â ´À¸³´Ï´Ù
¿À·¡°É¸°´Ù¸é ÃֽŹöÀüÀ̶ó¸é º´·Äó¸®ÇϽñ¸¿ä
ÆĶó¹ÌÅÍ Æ©´×µµ Çغ¸½Ã±¸¿ä
±×¸®°í db¿¡¼´Â pc¿ë nvme´Â ½ºÆå ¼º´ÉÀÌ ´Ù ¾È³ª¿ÀÁÒ
ÀÌ·±ÀÛ¾÷Àº mysqlÀÇ innodb °è¿ÀÌ ´õ ´À¸³´Ï´Ù
ÀÏ´ÜÀº index ºÎÅÍ ¼Õº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
Äõ¸® ½ÇÇà°èȹÀ» È®ÀÎÇؼ À妽º¸¦ Ÿ´ÂÁö È®ÀÎÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.