#SRGï¼Service Reliability Groupï¼ã¯ã主ã«å¼ç¤¾ã¡ãã£ã¢ãµã¼ãã¹ã®ã¤ã³ãã©å¨ãã横æçã«ãµãã¼ããã¦ãããæ¢åãµã¼ãã¹ã®æ¹åãæ°è¦ç«ã¡ä¸ããOSSè²¢ç®ãªã©ãè¡ã£ã¦ããã°ã«ã¼ãã§ãã
#SRGï¼Service Reliability Groupï¼ã¯ã主ã«å¼ç¤¾ã¡ãã£ã¢ãµã¼ãã¹ã®ã¤ã³ãã©å¨ãã横æçã«ãµãã¼ããã¦ãããæ¢åãµã¼ãã¹ã®æ¹åãæ°è¦ç«ã¡ä¸ããOSSè²¢ç®ãªã©ãè¡ã£ã¦ããã°ã«ã¼ãã§ãã
è¨äºãæ¸ãã®ãé ããªã£ã¦ãã¾ã£ãããå æ¥MySQL 8.4ã·ãªã¼ãºãç»å ´ããã®ã§ç´¹ä»ããã¦ãããã¨æããæ°æ©è½ã®è§£èª¬ã«ã¤ãã¦ã¯æ©ä¼ãæ¹ãã¦æ¸ãã¨ãã¦ãä»åã¯ä¸»ã«ã¢ããã°ã¬ã¼ãã«ã¾ã¤ããéè¦ãªãã¤ã³ããæ¸ãè¨ãã¦ããã LTS = Long Term Support 以åã®è¨äºã§ãç´¹ä»ããéããMySQL 8.4ã¯LTS = Long Term Supportã®ãã¼ã¸ã§ã³ã¨ãªã£ã¦ãããé·æéãµãã¼ãããããã«äºææ§ãæ大éä¿è¨¼ãããã¼ã¸ã§ã³ã§ãããåã®ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã§ããMySQL 8.0ã·ãªã¼ãºã®ããã«ãã·ãªã¼ãºã®éä¸ã§äºææ§ãç ´å£ããããããªå¤æ´ãå ¥ããã¨ã¯åºæ¬çã«ç¡ããããã°ä¿®æ£ã®ããã«ã©ããã¦ãä»æ§ãå¤ããªããã°ãªããªããã¨ãããããªäºæ ãçããå¯è½æ§ã¯ã¼ãã§ã¯ãªãããªã®ã§çµ¶å¯¾ã«äºææ§ãä¿ãããã¨ã¯è¨ãåããªãã¨ããã§ããããåºæ¬çã«ã¯ä»æ§å¤æ´ã¯ãªãæ¹åã§ä»å¾ãªãªã¼ã¹ããã¦ããã
ã¯ããã« MySQL(InnoDB)ã§SQLã®ããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ãããã¨ãã«å½¹ã«ç«ã¤ç¥èãã¨ãã»ã³ã¹ã¨ãã¦ã¾ã¨ãã¾ãããçµå(JOIN)ãB-treeã¤ã³ããã¯ã¹ã®æ¢ç´¢ã®ä»çµã¿ãå®è¡è¨ç»ã®åºæ¬çãªè¦æ¹ãç´¹ä»ãã¾ãã æ³å®ããèªè ã¯ãSQLã®ããã©ã¼ãã³ã¹ãæ¹åããå¿ è¦ããããå®è¡è¨ç»ãã¿ã¦ããã¾ãã¡ãã³ã¨æ¥ãªãæ¹ã§ããã¤ã³ããã¯ã¹ã®ä½æã®çµé¨ããè¤åã¤ã³ããã¯ã¹ãã«ã¼ãã£ããªãã£ã®ç¥èããããã¨ãåæã«ãã¦ãã¾ããç®æ¨ã¯ãå®è¡è¨ç»ã®å 容ãããåãããªãèªè ããå®è¡è¨ç»ãã¿ãã ãã§ã¯ã¨ãªãå®è¡ãããæ§åãã¤ã¡ã¼ã¸ã§ããèªä¿¡ãæã£ã¦ã¯ã¨ãªã®æ¹åã«ããããã¨ãã§ããããã«ãããã¨ã§ãã ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¯InnoDBãåæã¨ãã¦ãã¾ããã¾ããã¤ã³ããã¯ã¹ã¯B-treeã¤ã³ããã¯ã¹ãæ³å®ãã¦ãã¾ããå ¨ææ¤ç´¢ã®è»¢ç½®ã¤ã³ããã¯ã¹ã空éæ¤ç´¢ã®R-treeã¤ã³ããã¯ã¹ã«ã¤ãã¦ã¯è§¦ãã¾ããã ã¤ã³
ãã®ã¬ã¤ãã§ã¯ãMySQL ãã¼ã¿ãã¼ã¹ã«æ¥ç¶ããã Spring ã¢ããªã±ã¼ã·ã§ã³ãä½æããããã»ã¹ãé ã追ã£ã¦èª¬æãã¾ãï¼ä»ã®ã»ã¨ãã©ã®ã¬ã¤ããå¤ãã®ãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³ã使ç¨ããã¤ã³ã¡ã¢ãªã®çµã¿è¾¼ã¿ãã¼ã¿ãã¼ã¹ã¨ã¯å¯¾ç §çã§ãï¼ãSpring Data JPA ã使ç¨ãã¦ãã¼ã¿ãã¼ã¹ã«ã¢ã¯ã»ã¹ãã¾ãããããã¯å¤ãã®é¸æè¢ã®ãã¡ã® 1 ã¤ã«ããã¾ããï¼ãã¨ãã°ããã¬ã¼ã³ãª Spring JDBC ã使ç¨ã§ãã¾ãï¼ã
ï¼ï¼ã¯ããã« RDBã§ã®é層æ§é ã®é¢ä¿ãæã¤ãã¼ã¿ãæ±ãä¸ã§ã å¹ççãªãã¼ã¿ã®æã¡æ¹ãæ½åºæ¹æ³ã«ã¤ãã¦æ¤è¨¼ãè¡ã£ã¦ãã¾ãã çµè«ããå ã« é層æ§é ãæ±ãæ¹æ³ã¨ãã¦ä¸è¨ã®ç¨®é¡ãããã¾ãã é£æ¥ãªã¹ã çµè·¯åæ å ¥ãåéå éå ãã¼ãã« å帰ã¯ã¨ãªï¼WITH RECURSIVEï¼ã使ãã¨é層ãã¼ã¿ãæ±ãä¸ã§ã®ããã©ã¼ãã³ã¹ãå¾ããã¾ãã æ¤ç´¢æ§ãæ´æ°éããã¼ã¿éãªã©å å³ããã¨é£æ¥ãªã¹ãã§å帰ã¯ã¨ãªãç¨ããã®ãããããã ï¼ï¼é層æ§é ãæã¤ãã¼ã¿ã®æ¦è¦ é層æ§é ãæã¤ãã¼ã¿ã¨ã¯ è¤æ°ã®è¦ç´ ï¼ãã¼ã¿ï¼ã親åé¢ä¿ã§çµã³ã¤ãã¦ããæ§é ãæã¤ãã¼ã¿ 1ã¤ã®è¦ç´ ãè¤æ°ã®è¦ç´ ã®è¦ªã«ãªããã¨ãã§ãã ã¾ãã1ã¤ã®è¦ç´ ãè¤æ°ã®åè¦ç´ ãæã¤ãã¨ãããã¾ãã ããè¦ç´ ã親ã¨ãã¦ãç´°ååãããåè¦ç´ ã§ãã£ããã é¡ä¼¼ããè¦ç´ ãæ½è±¡åãããã®ã親è¦ç´ ã¨ãããããªãã¼ã¿ã é層æ§é ãæã¤ãã¼ã¿ã®ä¾ çµç¹ã«ãããäºæ¥é¨ã
èªè 対象 ããç¨åº¦ãã¼ã¿ãã¼ã¹ã«é¢ããç¥èãæã£ã¦ããï¼çµé¨å¹´æ° 1 年以ä¸ã®ããã¯ã¨ã³ãã¨ã³ã¸ã㢠ç¹å®ã®ããã°ã©ãã³ã°è¨èªã«ä¾åããé¨åã¯å«ããªãããï¼ãã¹ã¦ã® SQL 使ç¨è ã対象ã¨ãã ã¾ãï¼ã¼ãããã®ä¸å¯§ãªèª¬æã¨ããããã¯ï¼ãªãã¡ã¬ã³ã¹æè¦ã§ä½¿ããè¨äºã¨ããå½¢ã«ã¾ã¨ããã RDBMS ã®å¯¾è±¡ãã¼ã¸ã§ã³ PostgreSQL: 9.4 以é MySQL: 8.0.28 以é id ï¼ãã¼ã¿å㨠INSERT æã®ããã©ã«ãåãï¼ å°å ¥ ä¸è¬çã«æ¡ç¨ããããããã©ã¤ããªãã¼ç¨ã®å¤ã¨ãã¦ï¼ä»¥ä¸ãèããã é£çªæ´æ° MySQL ã§ã¯ AUTO_INCREMENTï¼ Postgres ã§ã¯ IDENTITY ã SERIAL ã¨å¼ã°ãããã® UUID v1: ãã¼ãã¦ã§ã¢ãã¨ã«ã¦ãã¼ã¯ãªå調å¢å å¤ UUID v4: ã©ã³ãã å¤ UUID v7ï¼ãã©ããï¼: å調å¢å ã§ããã¿ã¤ã ã¹ã¿ã³ãã¨ã©
ã©ãããæ ªå¼ä¼ç¤¾ãã©ãCEOã®æ¾åã§ã å æ¥ç¤¾å ã®ã¨ã³ã¸ãã¢ã«ããã®SQLã¯ã©ã¤ã¢ã³ããã¤ã±ã¦ããï¼ãã¨æãã£ãã®ã§æ©éArctypeã触ã£ã¦ã¿ã¾ãã TL;DR ã¯ã¨ãªã®è£å®ãæé« ãã£ã¼ããããã·ã¥ãã¼ããéãã¦ç°¡åã«å¯è¦åã§ãã æä½æ§ã«åªãã¦ãã¦ãè¦ãç®ãç¶ºéº ã¯ã¨ãªãããã·ã¥ãã¼ããã¨ã«æ¨©é管çã§ãã ãã¬ã¼ã¹ãã«ãã¼ã使ãã°ééçºè ã¨ãã¯ã¨ãªãå ±æãããã 説æããããArctypeã¨ã¯ ãªããã¤ã±ã¦ãSQLã¯ã©ã¤ã¢ã³ãã§ã ã»ããã¢ãã ãããããããåãããªãã®ã§ãã²ã¨ã¾ãDBãç«ã¡ä¸ãã¦å®éã«ä½¿ã£ã¦ã¿ããã¨æãã¾ãããã¡ãã®mysql-employeesã使ããã¦ããã ãã¾ããã docker run -d \ --name mysql-employees \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=college \ -v $PWD/
ããã«ã¡ã¯ãid:shallow1729ã§ããæè¿ã¯ã¤ã³ãã©å¯ããªãä»äºããããã£ã¦ãã¾ããããã¾ã§ã«ããã¤ããã¼ã¿ç§»è¡ããã¼ã¿åºç¤æ§ç¯ãªã©ã®ãããå¦çã®ãä»äºããã¦ãã¾ããã以åã«ãä¸åº¦ãããã£ãçµé¨ãå ã«è¨äºãæ¸ããã®ã§ãããMySQLãã·ã¹ãã ã«é¢ããç¥èã以åãããå¢ããä»ããä¸åº¦æ¸ãç´ããããªã¨æãã¾ããã ãªã®ã§ä»åã¯ãããå¦çãæ¸ãæã®ãã¯ããã¯2022çã¨ããæãã§ããä»ã®ä»äºã®é¢ä¿ã§MySQLãrailsãåæã«ãã¦ãã話ãå¤ãã§ãããããããä»ã®ãã¼ã¿ãã¼ã¹ã使ã£ã¦ãã人ã«ãå½¹ã«ç«ã¤è©±ãå¤ãã®ã§ã¯ãªããã¨æãã¾ãããã ãä»åã®è¨äºã¯çµé¨ã«åºã¥ããã®ãå¤ãããã¾ããããªãã¢ã¤ãã¢ãããããããã¾ãããæ¹åç¹ãééããªã©ããã°ãææãã ããã åªçæ§ãæã¤ããã« åªçæ§ã¨ã¯ç«¯çã«è¨ãã°ããæä½ãè¤æ°åå®è¡ãã¦ãä¸åããå®è¡ããªãã£ãæã¨åãçµæã«ãªãæ§è³ªã®äºã§ããé·æéãã
ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã® misu ã§ããæè¿ã¯å¡©å æ¸ã«è¦æ¦ããªãããã¹ãã¤ã¹ããã«ã¬ã¼ãä½ã£ã¦ãã¾ãã ãã®è¨äºã«ã¤ã㦠ISUCON 10 ã®æ¯ãè¿ã ãã¼ã æ§æ æ¯ãè¿ã generated columns ã¨ã¯ åè ãã®è¨äºã«ã¤ã㦠ISUCON 10 ã«åºå ´ããäºé¸æéããã®ã§ãã®æ¯ãè¿ãã¨æ¬¡åã®ããã« MySQL ã® generated columns ã«ã¤ãã¦èª¿æ»ãããã¨ãæ¸ããã¦ãã¾ãã ISUCON 10 ã®æ¯ãè¿ã ãã¼ã æ§æ å¼ç¤¾ã§ã¯ãåã ISUCON åºã人ãã¾ããããã¨åã£ãã¨ããã6 人ã®æ¦å£«ãæãä¸ãã¦ããã¾ãããå以å¤ã¯å ¨å¡ååºå ´ã§ãã 7 人ãªã®ã§ãå¾æãªè¨èªã§ãããªãã¼ã åãã«ãªãã¾ããã Go ãã¼ã 2 人ã»ããã 2 ãã¼ã Node.js ãã¼ã 3 人 æ¯ãè¿ã åã¯ãGo ã§æ®æ®µéçºãã¦ããã®ã§ãGo ã§æãã ã®ã§ããã社å 3 ãã¼ã ã®
ã¯ããã« 2020/09/28 ã«éå¬ããã ISUCON10 ã§äºé¸æéã ã¨ã¦ã楽ããåé¡ã§ããããç¡æ®ã«ãæãå»ãã¾ããã æ¥å¹´ã«åããäºåæºåããã³å½æ¥ã«ãã£ããã¨ãæ¯ãè¿ãã¾ãã ãªãããã¼ã ã¡ã¤ã @genya0407 ã®åå è¨ã¯ ãã¡ã ã«ãªãã¾ãã è¨é² ãããã«ãã¼ã åãå ¥ãããã¨ãããã¼ã å㧠@genya0407 ã¨åºå ´ã Go å®è£ ã使ç¨ããçµæ㯠1300 ç¹ã§ããã ã¡ã³ãã¼ @ebiebievidence (ç§) ååæ¦ ãããã¤ç°å¢ãæ´ãã ã¢ããªã±ã¼ã·ã§ã³ @genya0407 ISUCON8, ISUCON9 ã«ç¶ãåæ¦ ã¤ã³ãã© ã¹ãã¼ã¯ã¨ãªãè¦ã¦ã¤ã³ããã¯ã¹ãå¼µã£ãã ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãä¿®æ£ããã¦ãã (å ¨é¨) äºåæºå åå ISUCON7 ããã³ ISUCON8 ã®äºé¸ããã¼ã¹ã«ã主ã«ååã®ç·´ç¿ããã¾ããã ç§ã¯ ISUCON ã«ã¤ãã¦å®å ¨
ISUCON 10 äºé¸åé¡ä½åæ å½ã® @yosuke_furukawa ã§ããISUCON 10 ã®äºé¸ãç²ããã¾ã§ããããã®ããã°ã§ã¯ã ISUCON 10 ã®äºé¸åé¡ã®è§£èª¬ã¨è¬è©ãè¡ãã¾ãã åé¡ã«ã¤ãã¦ã¯ä¸è¨ã®URLã«ã¦å ¬éããã¦ãã¾ãã http://github.com/isucon/isucon10-qualify åä½ç¢ºèªããããå ´å㯠README.md ã確èªã®ä¸ãæ¤è¨¼ãã¦ã¿ã¦ãã ããã 課é¡ã¢ããªã±ã¼ã·ã§ã³ ISUUMO ã«ã¤ã㦠ISUCON10 ã®äºé¸ã®åé¡ã¯ã ISUUMO ã¨å¼ã°ããã¤ã¹ã«åãç©ä»¶ãæ¤ç´¢ãããµã¤ãã§ããããã£ãããªã¯ã«ã¼ããä½åæ å½ã«ãªã£ãã®ã§ããªã¯ã«ã¼ããªãã§ã¯ã®ãã®ã«ãããã®ã¨ããã£ã¨ç¤¾å ISUCONã§ããªã·ã¼ã¨ãã¦æã£ã¦ãããå®éã«èµ·ãã¦ããããã©ã¼ãã³ã¹åé¡ã«è¿ã課é¡ãè¨å®ããããã¨ããæãããä½ãã¾ããã ä»åã®åé¡ã¯ä½ç½®æ å ±ã使ã£ã
åç¥ã大ããMySQLã®ãã¼ã¿ãã¼ã¹ãããã¾ããããã¨ã大ããªãã¼ã¿ãã¼ã¹ããå¤ãã®ãã¼ã¿ãåå¾ãããããé常ã«éãã¯ã¨ãªãå®è¡ããããã¨ãããã¾ãã ããããã¨ãã¼ã¿ãã¼ã¹ãé«è² è·ã«ãªãããéãå¦çãè¦ã¤ããããªãã¾ãã (innodb_query_queued ã¨ããå¢ãã¦è¾ããªã) MySQLã«ã¯ SHOW PROCESSLIST ã¨ãããã®ããããå®è¡ä¸ã®MySQLã®ããã»ã¹ä¸è¦§ãè¦ããã¨ãã§ãã ã¯ã¨ãªã®å®è¡ç¶æ³ãå®è¡æéãã¿ããã¨ãã§ããã®ã§ã¹ãã¼ã¯ã¨ãªãã°ãã便å©ãªãã¨ãããã¾ãã (ã¹ãã¼ã¯ã¨ãªãã°ã¯ã¯ã¨ãªãå®äºããå ´åã«åºåãããããå®è¡ä¸ãã¯ã¨ãªãä¸æããå ´åã«è¦ããã¨ãã§ããªã) ããããSHOW PROCESSLIST ã®åºåã¯å¤ãããæ¯åè¦ãã®ã¯ç²ãã¾ããããã§ä»¥ä¸ã®ãããªã¹ã¯ãªãã㧠SHOW FULL PROCESSLIST ã®åºåããã£ã«ã¿ã¼ããã¨ä¾¿å©ã§ãã
ãªãã¨ãããã¨ã§ãããã ãã®ããã« IGNORE ãæå®ããã¨æ¬æ¥ã¨ã©ã¼ã¨ãã¦ã»ãããã®ã¾ã§ã¯ãã£ã¦ãã¾ãã¾ãã ãããã§ãããã ã¡ãªã¿ã«ããã¯ãã£ããã¨å ¬å¼ããã¥ã¡ã³ãã«ãããã¦ããã®ã§ãããããã¾ã§ç¡è¦ããã¾ãã¨ãªã£ã¦ããã®ã§ãæå³ããªãã¬ã³ã¼ããå ¥ã£ã¦ãã¾ãã®ã¯ã¢ã¬ããããã¾ããã https://dev.mysql.com/doc/refman/5.6/ja/insert.html IGNORE ãã¼ã¯ã¼ãã使ç¨ããå ´åãINSERT ã¹ãã¼ãã¡ã³ãã®å®è¡ä¸ã«çºçããã¨ã©ã¼ã¯ç¡è¦ããã¾ãããã¨ãã°ãIGNORE ã使ç¨ããªãå ´åã¯ããã¼ãã«å ã®æ¢åã® UNIQUE ã¤ã³ããã¯ã¹ã¾ã㯠PRIMARY KEY å¤ãè¤è£½ããè¡ã«ãã£ã¦éè¤ãã¼ã¨ã©ã¼ãçºçãããã®ã¹ãã¼ãã¡ã³ãã¯ä¸æ¢ããã¾ããIGNORE ãæå®ããã¨ããã®è¡ãç ´æ£ãããã¨ã©ã¼ã¯çºçãã¾ããã代ããã«ãç¡è¦ãããã¨ã©
MySQLã®ãã¼ã¿åã¨ãã¦FLOATåã¨ããåãããã®ã§ããããããæ¡ç¨ããã®ã¯æ··ä¹±ã®å ã§ã¯ãªããï¼ã¨æããã®ã§ããã®è©³ç´°ãç´¹ä»ãã¾ãã ãããããã®è©±ã®ãã£ããã¯ãMySQLã§6æ¡ã¾ã§ã®å°æ°ç¹ã丸ããã«æ±ããªãFLOATåã使ãã¹ãçç±ãã¨ããè¨äºãç®ã«æ¢ã¾ã£ããã¨ã§ãããããªãã«äººæ°ãéãã¦ããè¨äºã®ããã§ãããç§ã®èªãã éãã§ã¯FLOATåã使ãã ãã®æ ¹æ ãæä¸ããèªã¿åãããããã«é¡ä¼¼ããä¸æ¬¡æ å ±ãè±èªè¨äºãå ¨ãè¦ã¤ãããªãã£ãã®ã§ãçå½ãæªããæ å ±ã ã¨æãã¾ããã ãã®å¾ãMySQLä¸ã§å®é¨ãããCã½ã¼ã¹ã³ã¼ããèªãã§ã¿ããããçµæãç§ã®å¾ãçµè«ã¯çéã®ãã®ã«ãªãã¾ãããMySQLè¦å¯ã®æ¹ãæµ®åå°æ°ç¹æ°è¦å¯ã®æ¹ã追試ãåè«ãªã©é ããã¨å©ããã¾ãã MySQLã®FLOATåã¨ã¯ MySQLã®FLOATåã¯ååã¨ãã¦IEEE754æµ®åå°æ°ç¹æ°å精度åï¼32bitï¼ã§å®ç¾ããã¾ã*1ã
MySQLã®SELECT .. FOR UPDATEã¯REPEATABLE-READã§ãç´è¿ã«ã³ããããããã¬ã³ã¼ããè¿ã TL;DR ãã©ã³ã¶ã¯ã·ã§ã³åé¢ã¬ãã«ãREPEATABLE-READã®å ´åãSELECT .. FOR UPDATEãSELECT .. LOCK IN SHARE MODEã¨ããã¯ãªãã®SELECTã®çµæãéããã¨ãããã ä»æ§ããã => æ¼¢(ãªãã³)ã®ã³ã³ãã¥ã¼ã¿é: InnoDBã®REPEATABLE READã«ãããLocking Readã«ã¤ãã¦ã®æ³¨æç¹
Microsoft ã MySQL/PostgreSQL ã®ããã¼ã¸ããµã¼ãã¹ãå§ãã¾ã å é¨çã«ã¯ãã£ã¨åããåãçµã¿ãããã¦ãã¦ãå¤ãã®æ°è¦ Azure ã¦ã¼ã¶ããæã¾ãã¦ããä¸æ¹ãªããªãåºã¦ããªãã£ã MySQL/PostgreSQL ã®ããã¼ã¸ããµã¼ãã¹ãããããåºã¦ãã¾ããã azure.microsoft.com azure.microsoft.com ä½å¹´ãå¾ ã£ããï½ã»ãã¨ã«ããã ããã¾ã§ã® MySQL/PostgreSQL ããã¼ã¸ããµã¼ãã¹ã®èª²é¡ å種ã¯ã©ã¦ãã«ãããµã¼ãã¹ã«ã¯å¤§ãã2ã¤ã®èª²é¡ããã£ãã¨æãã¾ã âã¤ã³ã¹ã¿ã³ã¹â ã¨ãããµã¤ã¸ã³ã° ã©ã®ãµã¼ãã¹ãåºæ¬çã« âä»®æ³ãã·ã³â åä½ã§è¦æ±æ§è½ã¨ãã£ãã·ãã£ã決ãã¦ãããã«ã»ããã¢ããã®èªååã¨ããã¯ã¢ãããããã¦å¥ã¤ã³ã¹ã¿ã³ã¹ã¸ã®ãã§ã¤ã«ãªã¼ãã¼ãæä¾ãããã®ã§ããã ä»®æ³ãã·ã³ã§ã®ãããã¸ã§ãã³ã°ã¯ããã¾ã§ã®
æ»æã«å©ç¨ãããå ´åãroot権éã§ä»»æã®ã³ã¼ããå®è¡ããããµã¼ããå¶å¾¡ãããå¯è½æ§ãææããã¦ããã ç±³Oracleåä¸ã®ãªã¼ãã³ã½ã¼ã¹ãã¼ã¿ãã¼ã¹ãMySQLãã«æªè§£æ±ºã®èå¼±æ§ãè¦ã¤ãã£ãã¨ãã¦ãã»ãã¥ãªãã£ç 究è ã9æ12æ¥ã«æ¦ç¥ãã³ã³ã»ããå®è¨¼ã³ã¼ããå ¬éããããµã¤ãã¼æ»æã«å©ç¨ãããå ´åãroot権éã§ä»»æã®ã³ã¼ããå®è¡ããããµã¼ããå¶å¾¡ãããå¯è½æ§ãææããã¦ããã ç 究è ã®Dawid Golunskiæ°ãå ¬éããæ å ±ã«ããã°ãMySQLã®èå¼±æ§ã¯è¤æ°çºè¦ããããä¸ã§ãç¹ã«æ·±å»ãª1件ã«ã¤ãã¦ã¯ããªã¢ã¼ãã®æ»æè ãMySQLã®è¨å®ãã¡ã¤ã«ã«ä¸æ£ãªå 容ãä»è¾¼ãSQLã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æã«å©ç¨ãããæããããã ãã®èå¼±æ§ã¯ãMySQLã®ææ°çãå«ã5.7ç³»ã5.6ç³»ã5.5ç³»ã®å ¨ãã¼ã¸ã§ã³ã«ãããã©ã«ãã®ç¶æ ã§åå¨ãããç¾æç¹ã§Oracle MySQLãµã¼ãã®èå¼±æ§ä¿®æ£ãããã¯åå¨
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}