{"id":3592,"date":"2018-04-26T15:05:52","date_gmt":"2018-04-26T06:05:52","guid":{"rendered":"http:\/\/www.otwo.jp\/blog\/?p=3592"},"modified":"2019-06-19T17:04:49","modified_gmt":"2019-06-19T08:04:49","slug":"mysql-spider","status":"publish","type":"post","link":"https:\/\/www.otwo.jp\/blog\/mysql-spider\/","title":{"rendered":"\u3010MySQL\u3011Spider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u306b\u3088\u308b\u6c34\u5e73\u5206\u6563(\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0)"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/04\/spider_mv.jpg\" alt=\"\" width=\"700\" height=\"400\" class=\"alignnone size-full wp-image-3710\" srcset=\"https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/04\/spider_mv.jpg 700w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/04\/spider_mv-150x86.jpg 150w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/04\/spider_mv-300x171.jpg 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>\u3069\u3046\u3082\u3001\u958b\u767a2\u90e8\u30b5\u30fc\u30d0\u30fc\u62c5\u5f53\u306e\u5c71\u672c\u3067\u3059\u3002<\/p>\n<p>\u7686\u3055\u3093DB\u306e\u6c34\u5e73\u5206\u6563\u306f\u884c\u3063\u3066\u307e\u3059\u304b\uff1f<\/p>\n<p>\u6700\u8fd1\u3067\u306f\u30b5\u30fc\u30d3\u30b9\u958b\u59cb\u6642\u70b9\u304b\u3089\u6c34\u5e73\u5206\u6563\u3057\u3066\u3044\u308b\u30bf\u30a4\u30c8\u30eb\u3082\u5272\u3068\u591a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\u30e6\u30fc\u30b6\u30fc\u3084\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308b\u306e\u306f\u30b5\u30fc\u30d3\u30b9\u304c\u597d\u8abf\u306a\u8a3c\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u3044\u3056\u5bfe\u5fdc\u3057\u3088\u3046\u3068\u601d\u3046\u3068\u5927\u5909\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\u4eca\u56de\u306fMySQL\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3067\u3042\u308bSpider\u3092\u4f7f\u3063\u305f\u6c34\u5e73\u5206\u6563\uff08\u4ee5\u4e0b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\uff09\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<div class=\"pageContents\">\n<p class=\"title\">\u3082\u304f\u3058<\/p>\n<dl>\n<dt><a href=\"#step1\">Spider\u3068\u306f<\/a><\/dt>\n<dt><a href=\"#step2\">DB\u306e\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3068\u306f<\/a><\/dt>\n<dd><a href=\"#step2-1\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30e1\u30ea\u30c3\u30c8<\/a><\/dd>\n<dd><a href=\"#step2-2\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30c7\u30e1\u30ea\u30c3\u30c8<\/a><\/dd>\n<dt><a href=\"#step3\">Spider\u306b\u3088\u308b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0<\/a><\/dt>\n<dd><a href=\"#step3-1\">\u30c7\u30e1\u30ea\u30c3\u30c8\u306e\u7de9\u548c<\/a><\/dd>\n<dt><a href=\"#step4\">Spider\u3092\u4f7f\u3063\u3066\u307f\u308b<\/a><\/dt>\n<dd><a href=\"#step4-1\">\u74b0\u5883<\/a><\/dd>\n<dd><a href=\"#step4-2\">\u69cb\u7bc9<\/a><\/dd>\n<dd><a href=\"#step4-3\">\u52d5\u4f5c\u78ba\u8a8d<\/a><\/dd>\n<dt><a href=\"#step5\">\u307e\u3068\u3081<\/a><\/dt>\n<\/dl>\n<\/div>\n<h2 id=\"step1\">Spider\u3068\u306f<\/h2>\n<p>Spider\u306f2009\u5e74\u306bver1.0\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u56fd\u7523\u306eMySQL\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3067\u3001MySQL\u4ee5\u5916\u306b\u3082MariaDB\u3068Oracle\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>MySQL\u306b\u306fInnodb\u3092\u4ee3\u8868\u306bMyISAM\u3001MEMORY\u306a\u3069\u69d8\u3005\u306a\u7279\u5fb4\u3092\u6301\u3063\u305f\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001Spider\u306e\u7279\u5fb4\u306f<span style=\"color: #0000ff\"><strong>\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u304c\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b<\/strong><\/span>\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u3053\u3053\u6700\u8fd1\u306f\u7686\u3055\u3093AWS\u306eAurora\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u304b\u3001Spider\u306e\u56fd\u5185\u5229\u7528\u5b9f\u7e3e\u306f\u3042\u307e\u308a\u898b\u304b\u3051\u307e\u305b\u3093\u304c\u3001\u4e16\u754c\u6700\u5927\u306e\u30b2\u30fc\u30e0\u4f1a\u793e\u3067\u3042\u308b\u30c6\u30f3\u30bb\u30f3\u30c8\u793e\uff08Tencent\uff09\u3067\u306f\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30b2\u30fc\u30e0\u306e\u57fa\u76e4\u3068\u3057\u3066396\u306eSpider\u30ce\u30fc\u30c9\u30682800\u306e\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3067100TB\u306e\u30c7\u30fc\u30bf\u3092\u6271\u3063\u3066\u3044\u308b\u3068\u304b\uff01\uff1f\u3068\u3093\u3067\u3082\u306a\u3044\u898f\u6a21\u611f\u3067\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"step2\">DB\u306e\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3068\u306f<\/h2>\n<p>DB\u306e\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3068\u306f\u7279\u5b9a\u306e\u30c7\u30fc\u30bf\u9805\u76ee\u306e\u5270\u4f59\u3084\u7bc4\u56f2\u306a\u3069\u306e\u30eb\u30fc\u30eb\u306b\u3088\u308a1\u3064\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u30c7\u30fc\u30bf\u3092\u8907\u6570\u306eDB\u306b\u5206\u6563\u3057\u3066\u4fdd\u6301\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u30b2\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u3067\u306fuser_id:1\u306f1\u53f0\u76ee\u306eDB\u30b5\u30fc\u30d0\u30fc\u3001user_id:2\u306f2\u53f0\u76ee\u306eDB\u30b5\u30fc\u30d0\u30fc\u3068\u3044\u3063\u305f\u5177\u5408\u306b\u30e6\u30fc\u30b6\u30fc\u306e\u30c7\u30fc\u30bf\u3092\u8907\u6570\u306eDB\u306b\u5206\u6563\u3057\u3066\u4fdd\u6301\u3059\u308b\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-3608\" src=\"http:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_145823.png\" alt=\"\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30a4\u30e1\u30fc\u30b8\" width=\"614\" height=\"429\" srcset=\"https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_145823.png 614w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_145823-150x105.png 150w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_145823-300x210.png 300w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30e1\u30ea\u30c3\u30c8\u3068\u30c7\u30e1\u30ea\u30c3\u30c8\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3 id=\"step2-1\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30e1\u30ea\u30c3\u30c8<\/h3>\n<h4>\u62e1\u5f35\u6027\u304c\u9ad8\u3044<\/h4>\n<p>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30e1\u30ea\u30c3\u30c8\u306f\u4f55\u3088\u308a\u3082\u3053\u308c\u306b\u5c3d\u304d\u307e\u3059\u3002<\/p>\n<p>\u30b2\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u3067\u306f\u66f4\u65b0\u306b\u3088\u308b\u30de\u30b9\u30bf\u30fcDB\u306eI\/O\u8ca0\u8377\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306b\u306a\u308b\u3053\u3068\u304c\u591a\u3005\u3042\u308a\u307e\u3059\u3002\u53c2\u7167\u306e\u8ca0\u8377\u3067\u3042\u308c\u3070\u30b9\u30ec\u30fc\u30d6\u306e\u53f0\u6570\u3092\u5897\u3084\u3059\u3053\u3068\u3067\u8efd\u6e1b\u3067\u304d\u307e\u3059\u304c\u3001\u66f4\u65b0\u306e\u8ca0\u8377\u306f\u305d\u3046\u3082\u3044\u304d\u307e\u305b\u3093\u3002<\/p>\n<p>DB\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u9ad8\u901f\u30c7\u30a3\u30b9\u30af\uff08SSD\u3084ioDrive\u306e\u3088\u3046\u306a\uff09\u306b\u5909\u3048\u305f\u308a\u3001DB\u3092\u5782\u76f4\u5206\u5272\uff08\u6a5f\u80fd\u5358\u4f4d\u306a\u3069\u30671\u3064\u306eDB\u306b\u3042\u308b\u30c6\u30fc\u30d6\u30eb\u7fa4\u3092\u8907\u6570\u306eDB\u306b\u5206\u3051\u308b\uff09\u3059\u308b\u5bfe\u7b56\u304c\u6709\u52b9\u3067\u3059\u304c\u3001\u3044\u305a\u308c\u3082\u5909\u66f4\u306b\u306f\u5927\u639b\u304b\u308a\u306a\u5b9f\u88c5\u5909\u66f4\u3084\u79fb\u884c\u304c\u767a\u751f\u3057\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u30e6\u30fc\u30b6\u30fc\u306e\u5897\u52a0\u306b\u3088\u308a\u982d\u6253\u3061\u304c\u8a2a\u308c\u307e\u3059\u3002<\/p>\n<p><span style=\"color: #0000ff\"><strong>DB\u3092\u30e6\u30fc\u30b6\u30fc\u306eID\u3067\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u3066\u3044\u308b\u5834\u5408\u3001DB\u3092\u5897\u3084\u3059\u3053\u3068\u3067\u66f4\u65b0\u8ca0\u8377\u3092\u8907\u6570\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u5206\u6563\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u305f\u3081\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u30e6\u30fc\u30b6\u30fc\u306e\u5897\u6e1b\u306b\u3088\u308bDB\u6027\u80fd\u306e\u62e1\u5f35\u6027\uff08\u7e2e\u9000\u3082\uff09\u304c\u9ad8\u3044\u3067\u3059\u3002<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<h4>ALTER TABLE\u304c\u901f\u3044<\/h4>\n<p>\u30b5\u30fc\u30d3\u30b9\u3092\u9577\u304f\u904b\u55b6\u3057\u3066\u3044\u308b\u3068\u60a9\u307f\u306e\u7a2e\u306b\u306a\u308b\u306e\u304c\u3001DB\u306e\u9805\u76ee\u8ffd\u52a0\u3084\u524a\u9664\u3068\u3044\u3063\u305f\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9\u306e\u5909\u66f4\uff08ALTER TABLE\uff09\u3067\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u91cf\u306e\u591a\u3044\u30c6\u30fc\u30d6\u30eb\u3067\u306f\u9805\u76ee\u30921\u3064\u8ffd\u52a0\u3059\u308b\u306e\u306b\u6570\u6642\u9593\u304b\u304b\u308b\u3053\u3068\u3082\u3056\u3089\u3067\u3059\u3002\u3053\u308c\u306fALTER TABLE\u3067\u306f\u5185\u90e8\u7684\u306b\u4ee5\u4e0b\u306e\u51e6\u7406\u3092\u884c\u3063\u3066\u3044\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n<ol>\n<li>\u5909\u66f4\u5f8c\u306e\u5b9a\u7fa9\u3067\u30c6\u30fc\u30d6\u30eb\u306e\u65b0\u898f\u4f5c\u6210\uff08CREATE TABLE\uff09<\/li>\n<li>\u5909\u66f4\u524d\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u5909\u66f4\u5f8c\u306e\u30c6\u30fc\u30d6\u30eb\u3078\u30c7\u30fc\u30bf\u306e\u5168\u4ef6\u767b\u9332\uff08INSERT\uff09<\/li>\n<li>\u5909\u66f4\u524d\u306e\u30c6\u30fc\u30d6\u30eb\u3068\u5909\u66f4\u5f8c\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u540d\u524d\u306e\u5165\u308c\u66ff\u3048\uff08RENAME\uff09<\/li>\n<li>\u5909\u66f4\u524d\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u524a\u9664\uff08DROP TABLE\uff09<\/li>\n<\/ol>\n<p>\u4e0a\u8a18\u306e2\u306e\u51e6\u7406\u6642\u9593\u306f\u30c7\u30fc\u30bf\u91cf\u306b\u4f9d\u5b58\u3057\u3001\u30c7\u30fc\u30bf\u3084\u5236\u7d04\u304c\u591a\u3044\u30c6\u30fc\u30d6\u30eb\u307b\u3069\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002<\/p>\n<p><span style=\"color: #0000ff\"><strong>n\u53f0\u306eDB\u3067\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u5358\u7d14\u8a08\u7b97\u30671\u53f0\u5f53\u305f\u308a\u306e\u30c7\u30fc\u30bf\u91cf\u304c1\/n\u3068\u306a\u308a\u3001\u8907\u6570\u53f0\u306eDB\u3067\u5e73\u884c\u3057\u3066ALTER\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067<\/strong><\/span><span style=\"color: #0000ff\"><strong>\u51e6\u7406\u6642\u9593\u304c1\/n\u306b\u306a\u308b\u3053\u3068\u3092\u671f\u5f85\u3067\u304d\u307e\u3059\u3002\uff08\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5b8c\u4e86\u307e\u3067\u306e\u6642\u9593\u3092\u8003\u3048\u308b\u30681\/2n\uff09<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"step2-2\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30c7\u30e1\u30ea\u30c3\u30c8<\/h3>\n<h4>\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8<\/h4>\n<p>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u74b0\u5883\u3067\u306f\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u5024\u306e\u63a1\u756a\u304c\u9762\u5012\u3067\u3059\u3002<\/p>\n<p>\u3068\u3044\u3046\u306e\u306f\u3001<strong><span style=\"color: #ff0000\">\u5206\u6563\u3059\u308b\u5404\u30b5\u30fc\u30d0\u30fc\u3067\u5225\u3005\u306b\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u3067ID\u3092\u63a1\u756a\u3057\u305f\u5834\u5408\u3001\u30b5\u30fc\u30d0\u30fc\u9593\u3067ID\u306e\u91cd\u8907\u304c\u767a\u751f\u3059\u308b<\/span><\/strong>\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306b\u3001\u5225\u306b\u7528\u610f\u3057\u305f\u5206\u6563\u3057\u306a\u3044DB\u3067\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u5024\u306e\u63a1\u756a\u3060\u3051\u3092\u884c\u3044\u3001\u63a1\u756a\u3057\u305f\u5024\u3067\u5206\u6563\u3059\u308b\u5404\u30b5\u30fc\u30d0\u30fc\u306b\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b\u3068\u3044\u3063\u305f\u5bfe\u7b56\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>\u30b5\u30fc\u30d0\u30fc\u3092\u8de8\u3050\u30af\u30a8\u30ea<\/h4>\n<p>\u30b5\u30fc\u30d0\u30fc\u3092\u8de8\u3044\u3060\u7d50\u5408\uff08JOIN\uff09\u3001\u30bd\u30fc\u30c8\uff08ORDER BY\uff09\u3001\u96c6\u8a08\uff08GROUP BY\uff09\u3092\u767a\u884c\u3059\u308b\u969b\u306b\u3001\u8907\u6570\u306eDB\u3092\u4e32\u523a\u3057\u3067\u6a2a\u65ad\u691c\u7d22\u3057\u3066\u5f97\u305f\u7d50\u679c\u3092\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3054\u306b\u3087\u3054\u306b\u3087\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001<strong><span style=\"color: #ff0000\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u3066\u3044\u308b\u74b0\u5883\u3067\u306f\u5b9f\u88c5\u304c\u8907\u96d1\u306b\u306a\u308a\u304c\u3061\u3067\u3001\u51e6\u7406\u901f\u5ea6\u3082\u4e0d\u5b89\u3067\u3059\u3002<\/span><\/strong><\/p>\n<p>\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d0\u30fc\u3092\u8de8\u3050\u51e6\u7406\u306f\u8a2d\u8a08\u6642\u70b9\u3067\u6975\u529b\u6e1b\u3089\u3059\u3001\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u306a\u3044DB\u306b\u4fdd\u6301\u3059\u308b\u306a\u3069\u306e\u914d\u616e\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>\u904b\u7528\u30b3\u30b9\u30c8<\/h4>\n<p>\u30b2\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u306eDB\u306f\u30de\u30b9\u30bf\u30fc\u3001\u30b9\u30ec\u30fc\u30d6\u306e\u8907\u6570\u53f0\u3067\u69cb\u6210\u3059\u308b\u306e\u304c\u4e00\u822c\u7684\u3067\u3059\u3002<\/p>\n<p>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u5834\u5408\u306f\u30de\u30b9\u30bf\u30fc\u3001\u30b9\u30ec\u30fc\u30d6\u3092\u30bb\u30c3\u30c8\u3067\u5fc5\u8981\u3068\u306a\u308a\u3001\u4f8b\u3048\u3070\u30de\u30b9\u30bf\u30fc1\u53f0\u3001\u30b9\u30ec\u30fc\u30d62\u53f0\u3001\u30e6\u30fc\u30b6\u30fc\u30c7\u30fc\u30bf\u3092n\u53f0\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u5834\u5408\u3001n\u00d73\u53f0\u306e\u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<p><strong><span style=\"color: #ff0000\">\u30b5\u30fc\u30d0\u30fc\u306e\u53f0\u6570\u304c\u5897\u3048\u308b\u3068\u30a4\u30f3\u30d5\u30e9\u8cbb\u7528\u304c\u4e0a\u304c\u308b\u306e\u306f\u3082\u3061\u308d\u3093\u3067\u3059\u304c\u3001\u969c\u5bb3\u70b9\u304c\u5897\u3048\u308b\u305f\u3081\u969c\u5bb3\u767a\u751f\u306e\u78ba\u7387\u304c\u4e0a\u304c\u308b\u3001\u30d1\u30c3\u30c1\u9069\u7528\u306a\u3069\u30b5\u30fc\u30d0\u30fc\u4fdd\u5b88\u4f5c\u696d\u306e\u624b\u9593\u304c\u5897\u3048\u308b\u306a\u3069\u306e\u30c7\u30e1\u30ea\u30c3\u30c8\u3082\u767a\u751f\u3057\u307e\u3059\u3002<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u7ba1\u7406<\/h4>\n<p>\u8907\u6570\u306eDB\u306b\u8de8\u3063\u3066\u66f4\u65b0\u30af\u30a8\u30ea\u3092\u767a\u884c\u3059\u308b\u969b\u306b\u3001\u4e00\u65b9\u306e\u66f4\u65b0\u30af\u30a8\u30ea\u304c\u6b63\u5e38\u306b\u30b3\u30df\u30c3\u30c8\u3055\u308c\u3001\u3082\u3046\u4e00\u65b9\u306e\u66f4\u65b0\u30af\u30a8\u30ea\u304c\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\u5834\u5408\u306b\u30c7\u30fc\u30bf\u306e\u4e0d\u6574\u5408\u304c\u767a\u751f\u3057\u307e\u3059\u3002commit\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3092\u306a\u308b\u3079\u304f\u8fd1\u304f\u3059\u308b\u3053\u3068\u3067\u3001\u307b\u3068\u3093\u3069\u306e\u5834\u5408\u306f\u56de\u907f\u304c\u53ef\u80fd\u3067\u3059\u304c\u3001commit\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306f\u56de\u907f\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<p><strong><span style=\"color: #ff0000\">\u969c\u5bb3\u6642\u306b\u5099\u3048\u3066\u4e07\u5168\u3092\u671f\u3059\u306a\u3089XA\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306b\u3088\u308b\u4e8c\u76f8\u30b3\u30df\u30c3\u30c8\u306e\u3088\u3046\u306a\u7279\u5225\u306a\u914d\u616e\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"step3\">Spider\u306b\u3088\u308b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0<\/h2>\n<p>Spider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u306fFederated\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u306b\u69cb\u6210\u304c\u3088\u304f\u4f3c\u3066\u304a\u308a\u3001\u30ed\u30fc\u30ab\u30eb\u306eSpider\u30ce\u30fc\u30c9\u3068\u30ea\u30e2\u30fc\u30c8\u306e\u8907\u6570\u306e\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3067\u69cb\u6210\u3057\u307e\u3059\u3002<\/p>\n<p>Spider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u306eSpider\u30ce\u30fc\u30c9\u306f\u4e88\u3081\u6c7a\u3081\u3089\u308c\u305f\u30eb\u30fc\u30eb\u306b\u3088\u308a\u5404\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306b\u30c7\u30fc\u30bf\u3092\u632f\u308a\u5206\u3051\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306fInnodb\u306a\u3069\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3067\u5b9f\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306f\u666e\u901a\u306eInnoDB\u3068\u306a\u3093\u3089\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u3001Spider\u30ce\u30fc\u30c9\u3092\u7d4c\u7531\u3057\u306a\u304f\u3068\u3082\u76f4\u63a5\u53c2\u7167\u3001\u66f4\u65b0\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\uff08\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u76f4\u63a5\u66f4\u65b0\u3059\u308b\u5834\u5408\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u8de8\u3044\u3060\u5236\u7d04\u30c1\u30a7\u30c3\u30af\u3067\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u305b\u3093\u304c\u3001\u30c7\u30fc\u30bf\u4e0d\u6574\u5408\u304c\u767a\u751f\u3059\u308b\u306e\u3067\u6ce8\u610f\uff09<\/p>\n<p>\u4ed6\u306b\u3082Spider\u306fHA\u6a5f\u80fd\u3092\u5099\u3048\u3066\u304a\u308a\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306e\u81ea\u52d5\u30d5\u30a7\u30fc\u30eb\u30aa\u30fc\u30d0\u30fc\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u304c\u3001HA\u6a5f\u80fd\u306b\u3064\u3044\u3066\u306f\u3053\u3053\u3067\u306f\u53d6\u308a\u6271\u3044\u307e\u305b\u3093\u3002<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-3614\" src=\"http:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_153517-1.png\" alt=\"Spider\u306b\u3088\u308b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\" width=\"614\" height=\"573\" srcset=\"https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_153517-1.png 614w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_153517-1-150x140.png 150w, https:\/\/www.otwo.jp\/blog\/wp-content\/uploads\/2018\/03\/20180323_153517-1-300x280.png 300w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"step3-1\">\u30c7\u30e1\u30ea\u30c3\u30c8\u306e\u7de9\u548c<\/h3>\n<p>Spider\u306f\u5148\u307b\u3069\u6319\u3052\u305f\u3044\u304f\u3064\u304b\u306e\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30c7\u30e1\u30ea\u30c3\u30c8\u3092\u7de9\u548c\u3057\u307e\u3059\u3002<\/p>\n<h4>\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8<\/h4>\n<p>Spider\u30ce\u30fc\u30c9\u7d4c\u7531\u3067\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b\u3068\u3001Spider\u30ce\u30fc\u30c9\u306b\u3088\u308a\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u5024\u304c\u63a1\u756a\u3055\u308c\u308b\u305f\u3081\u3001\u7279\u5225\u306a\u63a1\u756a\u306e\u4ed5\u7d44\u307f\u3092\u8a2d\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>\u30b5\u30fc\u30d0\u30fc\u3092\u8de8\u3050\u30af\u30a8\u30ea<\/h4>\n<p>Spider\u306f\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u8de8\u3044\u3060\u7d50\u5408\u3001\u30bd\u30fc\u30c8\u3001\u96c6\u8a08\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u7279\u5225\u306a\u8003\u616e\u306a\u304f\u3001\u30b5\u30fc\u30d0\u30fc\u3092\u8de8\u3050\u30af\u30a8\u30ea\u3092\u767a\u884c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u305f\u3060\u3057\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u304c\u591a\u3044\u307b\u3069\u51e6\u7406\u6642\u9593\u306f\u9577\u304f\u306a\u308b\u306e\u3067\u3001\u3044\u305a\u308c\u306b\u305b\u3088\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u8de8\u3050\u30af\u30a8\u30ea\u3092\u6975\u529b\u63a7\u3048\u308b\u8a2d\u8a08\u30841\u304b\u6240\u306b\u30c7\u30fc\u30bf\u3092\u307e\u3068\u3081\u308b\u69cb\u6210\u304c\u91cd\u8981\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u7ba1\u7406<\/h4>\n<p>Spider\u306fXA\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306b\u5bfe\u5fdc\u3057\u3066\u304a\u308a\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u8de8\u3044\u3060\u66f4\u65b0\u30af\u30a8\u30ea\u3067\u30c7\u30fc\u30bf\u306e\u4e00\u8cab\u6027\u3092\u4fdd\u3064\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\uff08\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u5074\u3067\u3082XA\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u304c\u5fc5\u8981\u306a\u306f\u305a\u3067\u3059\u3002\uff09<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"step4\">Spider\u3092\u4f7f\u3063\u3066\u307f\u308b<\/h2>\n<p>\u5b9f\u969b\u306bSpider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3092\u7528\u3044\u3066\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"step4-1\">\u74b0\u5883<\/h3>\n<ul>\n<li>CentOS 7.1<\/li>\n<li>MariaDB 10.1<\/li>\n<\/ul>\n<p>\u203bMaraDB\u306e\u5834\u5408\u3001\u6a19\u6e96\u3067Spider\u304c\u30d0\u30f3\u30c9\u30eb\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u8a66\u3057\u3084\u3059\u3044\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"step4-2\">\u69cb\u7bc9<\/h3>\n<h4>MariaDB\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h4>\n<pre class=\"brush: python\r; notranslate\"># vi \/etc\/yum.repos.d\/mariadb.repo\r\n\r\n# MariaDB 10.0 CentOS repository list - created 2014-04-02 07:21 UTC\r\n# http:\/\/mariadb.org\/mariadb\/repositories\/\r\n[mariadb]\r\nname = MariaDB\r\nbaseurl = http:\/\/yum.mariadb.org\/10.1\/centos7-amd64\r\ngpgkey=https:\/\/yum.mariadb.org\/RPM-GPG-KEY-MariaDB\r\ngpgcheck=1\r\nenabled=0\r\n\r\n# yum install --enablerepo=mariadb MariaDB-client MariaDB-devel MariaDB-server MariaDB-shared\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>MariaDB\u306e\u591a\u91cd\u8d77\u52d5\u8a2d\u5b9a<\/h4>\n<p>\u4eca\u56de\u306e\u691c\u8a3c\u3067\u306fmysqld_multi\u3092\u4f7f\u3063\u30661\u53f0\u306e\u30de\u30b7\u30f3\u3067\u8907\u6570\u306eDB\u3092\u7acb\u3061\u4e0a\u3052\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># vi \/etc\/my.cnf.d\/server.cnf\r\n\r\n[mysqld]\r\ncharacter-set-server = utf8\r\n\r\n## mysqld_multi\u306e\u8a2d\u5b9a\u3001UNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u3067\u306e\u63a5\u7d9a\r\n# vi \/etc\/my.cnf\r\n\r\n[mysqld_multi]\r\nmysqld     = \/usr\/bin\/mysqld_safe\r\nmysqladmin = \/usr\/bin\/mysqladmin\r\nlog        = \/var\/lib\/mysql\/multi.log\r\n\r\n[mysqld1]\r\nport = 3306\r\ndatadir  = \/var\/lib\/mysql1\r\npid-file = \/var\/lib\/mysql1\/mysql.pid\r\nsocket   = \/var\/lib\/mysql1\/mysql.sock\r\n\r\n[mysqld2]\r\nport = 3307\r\ndatadir  = \/var\/lib\/mysql2\r\npid-file = \/var\/lib\/mysql2\/mysql.pid\r\nsocket   = \/var\/lib\/mysql2\/mysql.sock\r\n\r\n[mysqld3]\r\nport = 3308\r\ndatadir  = \/var\/lib\/mysql3\r\npid-file = \/var\/lib\/mysql3\/mysql.pid\r\nsocket   = \/var\/lib\/mysql3\/mysql.sock\r\n\r\n# mysql_install_db --datadir=\/var\/lib\/mysql1 --user=mysql\r\n# mysql_install_db --datadir=\/var\/lib\/mysql2 --user=mysql\r\n# mysql_install_db --datadir=\/var\/lib\/mysql3 --user=mysql\r\n# chown -R mysql:mysql \/var\/lib\/mysql1 \/var\/lib\/mysql2 \/var\/lib\/mysql3\r\n\r\n# mysqld_multi start\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>Spider\u306e\u4e0b\u6e96\u5099<\/h4>\n<p>mysql1\u3092spider\u30ce\u30fc\u30c9\u3001mysql2\u3068mysql3\u3092\u30c7\u30fc\u30bf\u30ce\u30fc\u30c8\u3068\u3057\u3066\u3001Spider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u306e\u6e96\u5099\u3068\u30e6\u30fc\u30b6\u30fc\u3001\u30b5\u30fc\u30d0\u30fc\u306e\u5b9a\u7fa9\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># mysql -uroot --socket=\/var\/lib\/mysql1\/mysql.sock\r\nMariaDB [(none)]&gt; source \/usr\/share\/mysql\/install_spider.sql\r\nMariaDB [(none)]&gt; SHOW ENGINES;\r\n+--------------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+\r\n| Engine             | Support | Comment                                                                                          | Transactions | XA   | Savepoints |\r\n+--------------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+\r\n| SPIDER             | YES     | Spider storage engine                                                                            | YES          | YES  | NO         |\r\n| CSV                | YES     | CSV storage engine                                                                               | NO           | NO   | NO         |\r\n| MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                                            | NO           | NO   | NO         |\r\n| MyISAM             | YES     | MyISAM storage engine                                                                            | NO           | NO   | NO         |\r\n| SEQUENCE           | YES     | Generated tables filled with sequential values                                                   | YES          | NO   | YES        |\r\n| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                                        | NO           | NO   | NO         |\r\n| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                                               | NO           | NO   | NO         |\r\n| Aria               | YES     | Crash-safe tables with MyISAM heritage                                                           | NO           | NO   | NO         |\r\n| InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, foreign keys and encryption for tables | YES          | YES  | YES        |\r\n+--------------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+\r\n9 rows in set (0.00 sec)\r\n\r\nMariaDB [(none)]&gt; CREATE SERVER mysqld2 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'spider', PASSWORD 'spider', HOST '127.0.0.1', PORT 3307);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n\r\nMariaDB [(none)]&gt; CREATE SERVER mysqld3 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'spider', PASSWORD 'spider', HOST '127.0.0.1', PORT 3308);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n\r\nMariaDB [(none)]&gt; SELECT * FROM mysql.servers;\r\n+-------------+-----------+----+----------+----------+------+--------+---------+-------+\r\n| Server_name | Host      | Db | Username | Password | Port | Socket | Wrapper | Owner |\r\n+-------------+-----------+----+----------+----------+------+--------+---------+-------+\r\n| mysqld2     | 127.0.0.1 |    | spider   | spider   | 3307 |        | mysql   |       |\r\n| mysqld3     | 127.0.0.1 |    | spider   | spider   | 3308 |        | mysql   |       |\r\n+-------------+-----------+----+----------+----------+------+--------+---------+-------+\r\n2 rows in set (0.00 sec)\r\n\r\n# mysql -uroot --socket=\/var\/lib\/mysql1\/mysql.sock -e \"CREATE DATABASE example_db; GRANT ALL PRIVILEGES ON *.* TO 'spider'@'localhost' IDENTIFIED BY 'spider'; FLUSH PRIVILEGES;\"\r\n# mysql -uroot --socket=\/var\/lib\/mysql2\/mysql.sock -e \"CREATE DATABASE example_db; GRANT ALL PRIVILEGES ON *.* TO 'spider'@'localhost' IDENTIFIED BY 'spider'; FLUSH PRIVILEGES;\"\r\n# mysql -uroot --socket=\/var\/lib\/mysql3\/mysql.sock -e \"CREATE DATABASE example_db; GRANT ALL PRIVILEGES ON *.* TO 'spider'@'localhost' IDENTIFIED BY 'spider'; FLUSH PRIVILEGES;\"\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u69cb\u7bc9<\/h4>\n<p>\u524d\u306e\u56f3\u3068\u540c\u3058USER\u30c6\u30fc\u30d6\u30eb\u3092user_id\u306e\u30cf\u30c3\u30b7\u30e5\u306b\u3088\u308amysqld2\u3068mysqld3\u306e2\u3064\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u307e\u3059\u3002<\/p>\n<p>\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30cb\u30f3\u30b0\u3068\u540c\u69d8\u306e\u69cb\u6587\u3067\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u30ad\u30fc\u3092\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u306e\u30ad\u30fc\u306b\u3001\u683c\u7d0d\u5148\u306e\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u306e\u30b3\u30e1\u30f3\u30c8\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># mysql -uroot --socket=\/var\/lib\/mysql1\/mysql.sock example_db\r\nMariaDB [(none)]&gt; CREATE TABLE `USER` (\r\n  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\r\n  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `profile` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `level` int(10) unsigned DEFAULT NULL,\r\n  `exp` int(10) unsigned DEFAULT NULL,\r\n  PRIMARY KEY (`user_id`)\r\n) ENGINE = SPIDER DEFAULT CHARSET=utf8\r\nPARTITION BY HASH(user_id) (\r\n  PARTITION p1 comment 'server \"mysqld2\", table \"USER\"',\r\n  PARTITION p2 comment 'server \"mysqld3\", table \"USER\"'\r\n);\r\nQuery OK, 0 rows affected (0.01 sec)\r\n\r\n# mysql -uroot --socket=\/var\/lib\/mysql2\/mysql.sock example_db\r\nMariaDB [(none)]&gt; CREATE TABLE `USER` (\r\n  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\r\n  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `profile` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `level` int(10) unsigned DEFAULT NULL,\r\n  `exp` int(10) unsigned DEFAULT NULL,\r\n  PRIMARY KEY (`user_id`)\r\n) ENGINE = InnoDB DEFAULT CHARSET=utf8;\r\nQuery OK, 0 rows affected (0.01 sec)\r\n\r\n# mysql -uroot --socket=\/var\/lib\/mysql3\/mysql.sock example_db\r\nMariaDB [(none)]&gt; CREATE TABLE `USER` (\r\n  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\r\n  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `profile` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,\r\n  `level` int(10) unsigned DEFAULT NULL,\r\n  `exp` int(10) unsigned DEFAULT NULL,\r\n  PRIMARY KEY (`user_id`)\r\n) ENGINE = InnoDB DEFAULT CHARSET=utf8;\r\nQuery OK, 0 rows affected (0.01 sec)\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h3 id=\"step4-3\">\u52d5\u4f5c\u78ba\u8a8d<\/h3>\n<h4>\u30c7\u30fc\u30bf\u306e\u767b\u9332<\/h4>\n<p>Spider\u30ce\u30fc\u30c9\u306b\u63a5\u7d9a\u3057\u300110\u4ef6\u306e\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n<p>user_id\u306f\u660e\u793a\u7684\u306b\u6307\u5b9a\u305b\u305a\u3001\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u306b\u4efb\u305b\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># mysql -uroot --socket=\/var\/lib\/mysql1\/mysql.sock example_db\r\nMariaDB [example_db]&gt; INSERT INTO USER(name, profile, level, exp) VALUES \r\n('NAME01', 'PROF01', '1', '101')\r\n,('NAME02', 'PROF02', '2', '102')\r\n,('NAME03', 'PROF03', '3', '103')\r\n,('NAME04', 'PROF04', '4', '104')\r\n,('NAME05', 'PROF05', '5', '105')\r\n,('NAME06', 'PROF06', '6', '106')\r\n,('NAME07', 'PROF07', '7', '107')\r\n,('NAME08', 'PROF08', '8', '108')\r\n,('NAME09', 'PROF09', '9', '109')\r\n,('NAME10', 'PROF10', '10', '110');\r\nQuery OK, 10 rows affected (0.10 sec)\r\nRecords: 10  Duplicates: 0  Warnings: 0\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>Spider\u30ce\u30fc\u30c9\u304b\u3089\u306e\u30c7\u30fc\u30bf\u53d6\u5f97<\/h4>\n<p>Spider\u30ce\u30fc\u30c9\u306b\u63a5\u7d9a\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u306e\u683c\u7d0d\u5834\u6240\u304c\u30d0\u30e9\u30d0\u30e9\u306a\u305f\u3081\u3001\u30bd\u30fc\u30c8\u9806\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306buser_id\u9806\u306b\u4e26\u3073\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>user_id\u304c\u81ea\u52d5\u7684\u306b\u63a1\u756a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304b\u3089\u3001Spider\u304c\u30aa\u30fc\u30c8\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001ORDER BY\u3001COUNT\u3001SUM\u306a\u3069\u3001\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u3092\u8de8\u3044\u3060\u30bd\u30fc\u30c8\u3001\u96c6\u8a08\u95a2\u6570\u304c\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u610f\u8b58\u3059\u308b\u3053\u3068\u306a\u304f\u5229\u7528\u51fa\u6765\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># mysql -uroot --socket=\/var\/lib\/mysql1\/mysql.sock example_db\r\nMariaDB [example_db]&gt; SELECT * FROM USER;\r\n+---------+--------+---------+-------+------+\r\n| user_id | name   | profile | level | exp  |\r\n+---------+--------+---------+-------+------+\r\n|       2 | NAME02 | PROF02  |     2 |  102 |\r\n|       4 | NAME04 | PROF04  |     4 |  104 |\r\n|       6 | NAME06 | PROF06  |     6 |  106 |\r\n|       8 | NAME08 | PROF08  |     8 |  108 |\r\n|      10 | NAME10 | PROF10  |    10 |  110 |\r\n|       1 | NAME01 | PROF01  |     1 |  101 |\r\n|       3 | NAME03 | PROF03  |     3 |  103 |\r\n|       5 | NAME05 | PROF05  |     5 |  105 |\r\n|       7 | NAME07 | PROF07  |     7 |  107 |\r\n|       9 | NAME09 | PROF09  |     9 |  109 |\r\n+---------+--------+---------+-------+------+\r\n10 rows in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT * FROM USER ORDER BY user_id;\r\n+---------+--------+---------+-------+------+\r\n| user_id | name   | profile | level | exp  |\r\n+---------+--------+---------+-------+------+\r\n|       1 | NAME01 | PROF01  |     1 |  101 |\r\n|       2 | NAME02 | PROF02  |     2 |  102 |\r\n|       3 | NAME03 | PROF03  |     3 |  103 |\r\n|       4 | NAME04 | PROF04  |     4 |  104 |\r\n|       5 | NAME05 | PROF05  |     5 |  105 |\r\n|       6 | NAME06 | PROF06  |     6 |  106 |\r\n|       7 | NAME07 | PROF07  |     7 |  107 |\r\n|       8 | NAME08 | PROF08  |     8 |  108 |\r\n|       9 | NAME09 | PROF09  |     9 |  109 |\r\n|      10 | NAME10 | PROF10  |    10 |  110 |\r\n+---------+--------+---------+-------+------+\r\n10 rows in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT COUNT(*) FROM USER;\r\n+----------+\r\n| COUNT(*) |\r\n+----------+\r\n|       10 |\r\n+----------+\r\n1 row in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT SUM(level) FROM USER;\r\n+------------+\r\n| SUM(level) |\r\n+------------+\r\n|         55 |\r\n+------------+\r\n1 row in set (0.01 sec)\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u304b\u3089\u306e\u30c7\u30fc\u30bf\u53d6\u5f97<\/h4>\n<p>\u6b21\u306b\u5b9f\u969b\u306e\u30c7\u30fc\u30bf\u683c\u7d0d\u5834\u6240\u3067\u3042\u308b\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306b\u63a5\u7d9a\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p>2\u3064\u306e\u30c7\u30fc\u30bf\u30ce\u30fc\u30c9\u306b\u767b\u9332\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5206\u6563\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python\r; notranslate\"># mysql -uroot --socket=\/var\/lib\/mysql2\/mysql.sock example_db\r\nMariaDB [example_db]&gt; SELECT * FROM USER;\r\n+---------+--------+---------+-------+------+\r\n| user_id | name   | profile | level | exp  |\r\n+---------+--------+---------+-------+------+\r\n|       2 | NAME02 | PROF02  |     2 |  102 |\r\n|       4 | NAME04 | PROF04  |     4 |  104 |\r\n|       6 | NAME06 | PROF06  |     6 |  106 |\r\n|       8 | NAME08 | PROF08  |     8 |  108 |\r\n|      10 | NAME10 | PROF10  |    10 |  110 |\r\n+---------+--------+---------+-------+------+\r\n5 rows in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT COUNT(*) FROM USER;\r\n+----------+\r\n| COUNT(*) |\r\n+----------+\r\n|        5 |\r\n+----------+\r\n1 row in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT SUM(level) FROM USER;\r\n+------------+\r\n| SUM(level) |\r\n+------------+\r\n|         30 |\r\n+------------+\r\n1 row in set (0.00 sec)\r\n\r\n# mysql -uroot --socket=\/var\/lib\/mysql3\/mysql.sock example_db\r\nMariaDB [example_db]&gt; SELECT * FROM USER;\r\n+---------+--------+---------+-------+------+\r\n| user_id | name   | profile | level | exp  |\r\n+---------+--------+---------+-------+------+\r\n|       1 | NAME01 | PROF01  |     1 |  101 |\r\n|       3 | NAME03 | PROF03  |     3 |  103 |\r\n|       5 | NAME05 | PROF05  |     5 |  105 |\r\n|       7 | NAME07 | PROF07  |     7 |  107 |\r\n|       9 | NAME09 | PROF09  |     9 |  109 |\r\n+---------+--------+---------+-------+------+\r\n5 rows in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT COUNT(*) FROM USER;\r\n+----------+\r\n| COUNT(*) |\r\n+----------+\r\n|        5 |\r\n+----------+\r\n1 row in set (0.00 sec)\r\n\r\nMariaDB [example_db]&gt; SELECT SUM(level) FROM USER;\r\n+------------+\r\n| SUM(level) |\r\n+------------+\r\n|         25 |\r\n+------------+\r\n1 row in set (0.00 sec)\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2 id=\"step5\">\u307e\u3068\u3081<\/h2>\n<p>Spider\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3092\u5229\u7528\u3057\u305f\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u304c\u3001\u3044\u304b\u304c\u3067\u3057\u305f\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<p>\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u306f\u898f\u6a21\u306e\u5c0f\u3055\u306a\u30b5\u30fc\u30d3\u30b9\u3067\u306f\u9762\u5012\u306a\u3060\u3051\u3067\u6069\u6075\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u30e6\u30fc\u30b6\u30fc\u6570\u306e\u591a\u3044\u30b5\u30fc\u30d3\u30b9\u3067\u306f\u5fc5\u9808\u3068\u306a\u308b\u69cb\u6210\u3067\u3001\u305d\u306e\u624b\u6bb5\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\uff08\u30e9\u30a4\u30d6\u30e9\u30ea\uff09\u3001\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u3001\u30af\u30e9\u30a6\u30c9\u30b5\u30fc\u30d3\u30b9\u306a\u3069\u591a\u7a2e\u591a\u69d8\u3067\u3059\u3002\u305d\u306e1\u3064\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u3068\u3057\u3066\u53c2\u8003\u306b\u3057\u3066\u3082\u3089\u3048\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<p>\uff08Spider\u3092\u7d39\u4ecb\u3057\u3064\u3064\u3001\u30aa\u30fc\u30c4\u30fc\u3067\u306f\u81ea\u793e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u6c34\u5e73\u5206\u6563\u306b\u5bfe\u5fdc\u3057\u3066\u307e\u3059\u3002\uff09<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u304a\u307e\u3051<\/strong><\/p>\n<p>Spider\u306f\u6c34\u5e73\u5206\u6563\u306b\u5bfe\u5fdc\u3057\u305f\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3067\u3059\u304c\u3001\u540c\u3058\u4f5c\u8005\u304b\u3089VP\uff08Vartical Partitioning\uff09\u3068\u3044\u3046\u5782\u76f4\u5206\u5272\u306b\u5bfe\u5fdc\u3057\u305f\u30b9\u30c8\u30ec\u30fc\u30b8\u30a8\u30f3\u30b8\u30f3\u3082\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002Spider\u3068\u7d44\u307f\u5408\u308f\u305b\u3066\u6c34\u5e73\u5206\u6563\u3068\u5782\u76f4\u5206\u5272\u304c\u540c\u6642\u306b\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u3067\u8208\u5473\u306e\u3042\u308b\u65b9\u306f\u304a\u8a66\u3057\u4e0b\u3055\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3069\u3046\u3082\u3001\u958b\u767a2\u90e8\u30b5\u30fc\u30d0\u30fc\u62c5\u5f53\u306e\u5c71\u672c\u3067\u3059\u3002 \u7686\u3055\u3093DB\u306e\u6c34\u5e73\u5206\u6563\u306f\u884c\u3063\u3066\u307e\u3059\u304b\uff1f \u6700\u8fd1\u3067\u306f\u30b5\u30fc\u30d3\u30b9\u958b\u59cb\u6642\u70b9\u304b\u3089\u6c34\u5e73\u5206\u6563\u3057\u3066\u3044\u308b\u30bf\u30a4\u30c8\u30eb\u3082\u5272\u3068\u591a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\u30e6\u30fc\u30b6\u30fc\u3084\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308b\u306e\u306f\u30b5\u30fc\u30d3\u30b9\u304c\u597d\u8abf\u306a\u8a3c\u3067\u306f\u3042\u308a\u307e [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3712,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[4,23],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/posts\/3592"}],"collection":[{"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/comments?post=3592"}],"version-history":[{"count":52,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/posts\/3592\/revisions"}],"predecessor-version":[{"id":3763,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/posts\/3592\/revisions\/3763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/media\/3712"}],"wp:attachment":[{"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/media?parent=3592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/categories?post=3592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.otwo.jp\/blog\/wp-json\/wp\/v2\/tags?post=3592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}