{"id":2033,"date":"2015-12-16T19:41:28","date_gmt":"2015-12-16T19:41:27","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2033"},"modified":"2025-06-13T23:03:43","modified_gmt":"2025-06-14T06:03:43","slug":"indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/","title":{"rendered":"N1QL\uc5d0 \ub300\ud55c \uc778\ub371\uc2a4: \ub610\ub294 \uc8fc\ubb38 \uaddc\ubaa8 \uc18d\ub3c4 \ud5a5\uc0c1\uc744 \uc5bb\uc740 \ubc29\ubc95"},"content":{"rendered":"<h2 id=\"toc_0\">N1QL\uc5d0 \ub300\ud55c \uc778\ub371\uc2a4: \ub610\ub294 \uc8fc\ubb38 \uaddc\ubaa8 \uc18d\ub3c4 \ud5a5\uc0c1\uc744 \uc5bb\uc740 \ubc29\ubc95<\/h2>\n<p>Couchbase 4.0\uc5d0\uc11c\ub294 JSON \ubb38\uc11c\uc5d0 SQL\uacfc \uc720\uc0ac\ud55c \ucffc\ub9ac\ub97c \uc81c\uacf5\ud558\ub294 \uc720\uc5f0\ud55c \ucffc\ub9ac \uc5b8\uc5b4\uc778 N1QL \ucffc\ub9ac \uc5b8\uc5b4\ub97c \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>N1QL\uc5d0 \ub300\ud574 \uc774\uc57c\uae30\ud560 \ub54c\ub9c8\ub2e4 <span style=\"color: rgb(51, 51, 51); text-align: left;\">\ub300\ud654<\/span> \uc131\ub2a5 \uce21\uba74\uc5d0\uc11c \ubb34\uc5c7\uc744 \uae30\ub300\ud560 \uc218 \uc788\ub294\uc9c0, \ucffc\ub9ac\ub97c \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub294 \uc635\uc158\uc740 \ubb34\uc5c7\uc778\uc9c0 \ub4f1 \uc131\ub2a5\uc5d0 \ub300\ud55c \uc9c8\ubb38\uc740 \ud56d\uc0c1 \uc5f4\ub824 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uccab \ubc88\uc9f8 \ub300\ub2f5\uc740 \"\uc0ac\uc6a9 \uc0ac\ub840\uc640 \ub370\uc774\ud130\uc758 \ud615\ud0dc\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4\"\uc77c \uac00\ub2a5\uc131\uc774 \ub192\uc9c0\ub9cc \uc194\uc9c1\ud788 \ud070 \ub3c4\uc6c0\uc774 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uc131\ub2a5\uc5d0 \ub300\ud55c \uc9c8\ubb38\uc5d0 \uc880 \ub354 \uc790\uc138\ud788 \ub2f5\ud558\uace0 \uc2e4\ud589 \uc2dc\uac04 \uce21\uba74\uc5d0\uc11c \uc2e4\uc81c \uc218\uce58\ub97c \uc81c\uc2dc\ud558\uba70 \ucffc\ub9ac\ub97c \ucd5c\uc801\ud654\ud558\uc5ec \ub354 \ub098\uc740 \uc131\ub2a5\uc744 \uc5bb\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub9ac\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n<h2 id=\"toc_1\">\ubc30\uacbd \uc2a4\ud1a0\ub9ac<\/h2>\n<p>Couchbase\ub294 \uc5ec\ub7ec \ub0b4\ubd80 \ub3c4\uad6c\uc640 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c N1QL\uc744 \uc0ac\uc6a9\ud558\uba70 \uc9c0\ub09c \uc8fc\uc5d0 \ub9e4\uc6b0 \uc911\uc694\ud55c \uc0ac\uc2e4\uc744 \ubc1c\uacac\ud588\uc2b5\ub2c8\ub2e4!<\/p>\n<p><strong>N1QL\uc744 \uc0ac\uc6a9\ud560 \ub54c\ub294 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uc774 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4!<\/strong><\/p>\n<p>\uc18c\uaddc\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \ud558\ub098\uc758 \uc18d\uc131\uc5d0 \ud558\ub098\uc758 \uc778\ub371\uc2a4\ub97c \ucd94\uac00\ud558\uba74 \uc2e4\ud589 \uc2dc\uac04\uc774 +2\ubd84\uc5d0\uc11c 2\ucd08\ub85c \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ucffc\ub9ac \uc790\uccb4\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc558\uace0 \uc778\ub371\uc2a4\ub9cc \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4!<\/p>\n<blockquote>\n<p>\ucc38\uace0: \uc704\uc758 \ucffc\ub9ac \uc2dc\uac04\uc740 \ub2e8\uc77c N1QL \ucffc\ub9ac\uac00 \uc544\ub2c8\ub77c \uc0c1\ub300\uc801\uc73c\ub85c \uc800\uc804\ub825 VM\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc5ec\ub7ec \ucffc\ub9ac \uc2dc\ud000\uc2a4\uc5d0 \ub300\ud55c \uc2dc\uac04\uc785\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<p>\ucffc\ub9ac\uc758 \uc608\uc0c1 \uc2e4\ud589 \uc2dc\uac04\uc740 \ucffc\ub9ac \ubcf5\uc7a1\uc131 \ubc0f \uc2dc\uc2a4\ud15c, Couchbase \uc11c\ubc84 \ubc0f \ud558\ub4dc\uc6e8\uc5b4\uc5d0 \ub530\ub77c \ud06c\uac8c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4.<\/p>\n<p>\ub530\ub77c\uc11c \ubcf4\ub2e4 \uc815\ud655\ud55c \ub2f5\ubcc0\uc744 \uc81c\uacf5\ud558\ub824\uba74 \ud14c\uc2a4\ud2b8 \ubca4\uce58\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ub2e4\uc591\ud55c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \uc798 \uc815\uc758\ub41c \ud14c\uc2a4\ud2b8 \uc138\ud2b8\ub97c \ud1b5\ud574 \uc8fc\uc5b4\uc9c4 \uc124\uc815\uc5d0 \ub300\ud55c \uc2e4\uc81c \uc131\ub2a5 \uba54\ud2b8\ub9ad\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubc29\uc2dd\uc73c\ub85c \uc2e4\uc81c \uc2dc\uc2a4\ud15c\uacfc \ucffc\ub9ac\uc5d0 \ub300\ud55c \uce21\uc815\uac12\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub530\ub77c\uc11c N1QL\uc774 \ube60\ub974\ub2e4\ub294 \uc8fc\uc7a5\ub9cc \ud558\uc9c0 \ub9d0\uace0 \uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ud574 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 id=\"toc_2\">\ud14c\uc2a4\ud2b8 \ubca4\uce58 \ub9cc\ub4e4\uae30<\/h2>\n<p>\uccab\uc9f8, \uc131\ub2a5\uc740 \uce21\uc815\ud558\uae30 \uc5b4\ub835\uc2b5\ub2c8\ub2e4. \uce21\uc815\ud558\ub294 \uac83\ub3c4 \uc5b4\ub835\uc9c0\ub9cc, \uc9c4\uc9dc \ubb38\uc81c\ub294 \ubb34\uc5c7\uc744 \ud14c\uc2a4\ud2b8\ud558\uace0 \uc788\ub294\uc9c0 \uc78a\uc5b4\ubc84\ub824\uc11c '\uc2a4\ud1b1\uc6cc\uce58'\ub97c \uc5b8\uc81c \uc2dc\uc791\ud558\uace0 \uc5b8\uc81c \ub2e4\uc2dc \uba48\ucdb0\uc57c \ud558\ub294\uc9c0\ub3c4 \uc78a\uc5b4\ubc84\ub9ac\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub530\ub77c\uc11c \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud560 \ub54c\ub294 \ud14c\uc2a4\ud2b8\uac00 \uce21\uc815\ud558\ub824\ub294 \ub300\uc0c1\uacfc \uacf5\uc815\ud558\uace0 \ubc18\ubcf5 \uac00\ub2a5\ud558\uba70 \ube44\uad50 \uac00\ub2a5\ud55c \ubc29\uc2dd\uc73c\ub85c \uce21\uc815\ud558\ub294 \ubc29\ubc95\uc744 \uc815\uc758\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc6b0\ub9ac\uc758 \uacbd\uc6b0, \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud560 \ub54c\uc640 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc744 \ub54c \uc0ac\uc804 \uc815\uc758\ub41c N1QL \ucffc\ub9ac\uc758 \uc2e4\ud589 \uc2dc\uac04 \ucc28\uc774\ub97c \uce21\uc815\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub124\ud2b8\uc6cc\ud06c \uc9c0\uc5f0, \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \uc2dc\uac04, SDK \uc131\ub2a5, \uc124\uc815\/\uc815\ub9ac \uc2dc\uac04 \ub4f1\uacfc \uac19\uc740 \ud50c\ub7ab\ud3fc\ubcc4 \uc9c0\uc5f0\uacfc\ub294 \ubb34\uad00\ud558\uac8c N1QL \ucffc\ub9ac\uc758 \uc2e4\uc81c \uc2e4\ud589 \uc2dc\uac04\uc5d0\ub9cc \uad00\uc2ec\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc989, \uc774 \ud2b9\uc815 \uc131\ub2a5 \ud14c\uc2a4\ud2b8\uc5d0\uc11c\ub294 \ub450 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \ucffc\ub9ac \uc2e4\ud589 \uc2dc\uac04 \uc678\uc5d0\ub294 \uc544\ubb34\uac83\ub3c4 \ubb34\uc2dc\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\ub2e4\ud589\ud788\ub3c4 \ucffc\ub9ac \uc2e4\ud589 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub294 \uac83\uc740 \ub9e4\uc6b0 \uc27d\uc2b5\ub2c8\ub2e4! \ubaa8\ub4e0 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 \uc751\ub2f5\uc5d0\ub294 <code>\uce21\uc815<\/code> \uc694\uccad\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \uba54\ud2b8\ub9ad\uc774 \ud3ec\ud568\ub41c \uac1d\uccb4\uc785\ub2c8\ub2e4.<\/p>\n<pre>\r\n<code class=\"language-JSON\">\"Metrics\": \r\n{\r\n    \"elapsedTime\": \"1.7900093s\",\r\n    \"executionTime\": \"1.7900093s\",\r\n    \"resultCount\": 0,\r\n    \"resultSize\": 0,\r\n    \"mutationCount\": 0,\r\n    \"errorCount\": 0,\r\n    \"warningCount\": 0\r\n}<\/code><\/pre>\n<p>\uc704\uc758 \uba54\ud2b8\ub9ad\uc5d0\ub294 \ub2e4\uc74c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. <code>\uc2e4\ud589 \uc2dc\uac04<\/code> \uc774 \uac12\uc740 \ub124\ud2b8\uc6cc\ud06c \uc9c0\uc5f0 \uc2dc\uac04, \ud50c\ub7ab\ud3fc \ucf54\ub4dc \uc2e4\ud589 \uc2dc\uac04 \ub4f1\uacfc \ubb34\uad00\ud558\uac8c Couchbase Server\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc2dc\uac04\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc774\uac83\uc774 \ubc14\ub85c \uc6b0\ub9ac\uc5d0\uac8c \ud544\uc694\ud55c \uac83\uc785\ub2c8\ub2e4!<\/p>\n<p>\ucffc\ub9ac\ub97c \uc2e4\ud589\ud558\uae30 \uc804\uc5d0 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud560 \ud14c\uc2a4\ud2b8 \ub370\uc774\ud130\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc5bc\ub9c8\ub098 \ub9ce\uc740 \ud14c\uc2a4\ud2b8 \ub370\uc774\ud130\uac00 \uc788\ub294\uc9c0\ub294 \ud14c\uc2a4\ud2b8 \uacb0\uacfc\uc5d0 \ud070 \uc601\ud5a5\uc744 \ubbf8\uce60 \uc218 \uc788\uc73c\ubbc0\ub85c \ubaa8\ub4e0 \ud14c\uc2a4\ud2b8 \uc2e4\ud589\uc5d0 \ub300\ud574 \uad6c\uc131\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ud14c\uc2a4\ud2b8 \ub370\uc774\ud130\ub97c \uc0dd\uc131\ud558\ub294 \ubc29\ubc95\uc740 \ud14c\uc2a4\ud2b8\uc5d0 \uc804\ud600 \uc911\uc694\ud558\uc9c0 \uc54a\uc73c\uba70, \uc0dd\uc131\ud558\ub294 \ub370 \uac78\ub9ac\ub294 \uc2dc\uac04\ub3c4 \uc911\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc911\uc694\ud55c \uac83\uc740 \uac00\ub2a5\ud55c \ud55c \uc2e4\uc81c \ub370\uc774\ud130\ub97c \ubc18\uc601\ud574\uc57c \ud558\ubbc0\ub85c \ub370\uc774\ud130\uc758 \ud615\ud0dc\uc785\ub2c8\ub2e4. \uadf8 \uc678\uc5d0\ub294 \ub370\uc774\ud130 \uc0dd\uc131 \ubc29\ubc95\uacfc \uc18c\uc694 \uc2dc\uac04\uc5d0\uc11c \ub192\uc740 \uc218\uc900\uc758 \uc790\uc720\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \ubb38\uc11c\uc758 \ud06c\uae30\uc640 \ubaa8\uc591\uc774 \ub2e4\uc591\ud558\ub2e4\uace0 \uac00\uc815\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub294 \ubb38\uc11c\uc758 \ubaa8\uc591\uc5d0 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub294 \uac12\uc744 \uac00\ub9ac\ud0a4\ub294 \ud0a4\ub9cc '\uc778\uc2dd'\ud569\ub2c8\ub2e4. \ud06c\uae30\ub294 \ub2e4\ub978 \uc8fc\uc81c\uc774\ubbc0\ub85c \ub370\uc774\ud130 \uc9d1\ud569\uc758 \ubb38\uc11c\ub294 \ud06c\uae30\uac00 \ub2e4\uc591\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\uba87 \uac00\uc9c0 \ub2e4\ub978 \ubb38\uc11c\ub97c \ubaa8\ubc29\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>\uc720\ud615<\/code> \uc18d\uc131\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. \ub2e4\uc2dc \ub9d0\ud558\uc9c0\ub9cc \ubaa8\uc591\uc740 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c \uc911\uc694\ud558\uc9c0 \uc54a\uc9c0\ub9cc, \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 <code>\uc720\ud615<\/code> \uc18d\uc131\uc744 \uc0ac\uc6a9\ud558\uba74 \ub3d9\uc77c\ud55c \ubb38\uc11c \uad6c\uc870\ub97c \uacf5\uc720\ud558\ub354\ub77c\ub3c4 \uc11c\ub85c \ub2e4\ub978 \uc720\ud615\uc758 \ubb38\uc11c\ub97c \ubaa8\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc81c \ud14c\uc2a4\ud2b8 \ub370\uc774\ud130 \uae30\uc900\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uc694\uc57d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ubb38\uc11c\uc758 \ud06c\uae30\ub294 \ub2e4\uc591\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<li>\ubb38\uc11c\ub294 \ub3d9\uc77c\ud55c JSON \uad6c\uc870\ub97c \uacf5\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ubb38\uc11c\uc758 \ucf58\ud150\uce20\ub294 \uace0\uc720\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<li>\ubb38\uc11c\uc5d0\ub294 <code>\uc720\ud615<\/code> \uc18d\uc131\uc744 \ubcc0\uacbd\ud558\uc5ec \ub370\uc774\ud130 \uc9d1\ud569\uc758 \ub2e4\ub978 \ubb38\uc11c\ub97c \ubaa8\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774\ub97c \uc5fc\ub450\uc5d0 \ub450\uace0 JSON \ubb38\uc11c \uad6c\uc870\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-JSON\">{\r\n    \"Id\": \"GUID\",\r\n    \"type\": \"perfTest\",\r\n    \"IndexedType\": \"person + #\",\r\n    \"NoneIndexedType\": \"person + #\",\r\n    \"Day\": 1->29,\r\n    \"Month\": 1->12,\r\n    \"Year\": 2015,\r\n    \"TextSmall\": \"100->250 random chars\",\r\n    \"TextMedium\": \"200->500 random chars\",\r\n    \"TextLarge\": \"700->1000 random chars\",\r\n    \"TextExtraLarge\": \"1200-1500 random chars\"\r\n}<\/code><\/pre>\n<p>\uc704\uc758 \ubb38\uc11c \uad6c\uc870\ub294 \ud14c\uc2a4\ud2b8 \ubb38\uc11c\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uac01 \ubb38\uc11c\uc758 \ud06c\uae30\ub294 \ubaa8\ub4e0 \ubb38\uc11c\uc758 <code>\ud14d\uc2a4\ud2b8...<\/code> \uc18d\uc131\uc5d0 \uc784\uc758\uc758 \ud06c\uae30\uc640 \uac12\uc774 \uc9c0\uc815\ub429\ub2c8\ub2e4. \uc774\ub807\uac8c \ubb34\uc791\uc704\ub85c \ud06c\uae30\uc640 \ub0b4\uc6a9\uc744 \uc9c0\uc815\ud568\uc73c\ub85c\uc368 \uac01 \ubb38\uc11c\ub294 \uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc2e4\uc81c \ubb38\uc11c\uc640 \uac00\uc7a5 \uc720\uc0ac\ud558\uac8c \ubaa8\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\ub294 \ub458 \uc774\uc0c1\uc758 \ubb38\uc11c \uc720\ud615\uc774 \ud3ec\ud568\ub420 \uac00\ub2a5\uc131\uc774 \ub192\uc73c\ubbc0\ub85c <code>\uc778\ub371\uc2f1\ub41c \uc720\ud615<\/code> \ub3d9\uc77c\ud55c \ubb38\uc11c \uad6c\uc870\uac00 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ub2e4\ub978 \ubb38\uc11c \uc720\ud615\uc744 \ubaa8\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc18d\uc131 <code>\uc778\ub371\uc2f1\ub41c \uc720\ud615<\/code> \ub294 \uba87 \uac00\uc9c0 \ub2e4\ub978 \uc608\uce21 \uac00\ub2a5\ud55c \uac12\uc744 \ucde8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4: <code>person1<\/code>, <code>person2<\/code>, <code>person3<\/code> \uadf8\ub9ac\uace0 <code>person4<\/code>. \ub124 \uac00\uc9c0 \uac12\uc740 \ub124 \uac00\uc9c0 \ub2e4\ub978 \ubb38\uc11c\ub97c \ubaa8\ubc29\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ub354 \ub9ce\uc740 '\uc720\ud615'\uc744 \ucd94\uac00\ud560 \uc218\ub3c4 \uc788\uc9c0\ub9cc \uc774 \ud14c\uc2a4\ud2b8\uc5d0\uc11c\ub294 4\uac1c\ub85c \ucda9\ubd84\ud569\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub9ac\uace0 <code>\uc720\ud615<\/code> \uc18d\uc131\uc744 \uc0ac\uc6a9\ud558\uba74 \ud14c\uc2a4\ud2b8\uac00 \uc644\ub8cc\ub418\uc5c8\uc744 \ub54c \ud14c\uc2a4\ud2b8 \ubb38\uc11c\ub97c \uc27d\uac8c \uac80\uc0c9\ud558\uace0 \uc0ad\uc81c\ud560 \uc218 \uc788\uc73c\uba70 \ud56d\uc0c1 <code>perfTest<\/code>.<\/p>\n<p>Couchbase Server\uc5d0\uc11c \ubc84\ud0b7\uc5d0 \ubb38\uc11c\ub97c \ub85c\ub4dc\ud558\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud55c \uac00\uc9c0 \uc635\uc158\uc740 \ubb38\uc11c\ub97c \ubbf8\ub9ac \ub9cc\ub4e4\uc5b4\uc11c \ubc84\ud0b7\uc5d0 \ub85c\ub4dc\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. <code>cbbackup<\/code> \uadf8\ub9ac\uace0 <code>cbrestore<\/code> \ub3c4\uad6c.<\/p>\n<p>\ub610 \ub2e4\ub978 \uc635\uc158\uc740 \ud14c\uc2a4\ud2b8 \ub370\uc774\ud130\ub97c \uc989\uc11d\uc5d0\uc11c \uc0dd\uc131\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ub370\uc774\ud130\ub97c \ub85c\ub4dc\ud558\ub294 \ub2e4\ub978 \ubc29\ubc95\ub3c4 \uc0dd\uac01\ud574\ub0bc \uc218 \uc788\uc744 \uac83 \uac19\uc2b5\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\ub294 \uc131\ub2a5\uc5d0 \uc911\uc694\ud558\uc9c0 \uc54a\ub2e4\ub294 \uc810\ub9cc \uae30\uc5b5\ud558\uc138\uc694! \uac00\uc7a5 \uc26c\uc6b4 \ubc29\ubc95\uc744 \uc120\ud0dd\ud558\uc138\uc694.<\/p>\n<p>\uc704\uc758 \uc815\uc758\uac00 \ub9c8\ub828\ub418\uc5c8\uc73c\ubbc0\ub85c \ud14c\uc2a4\ud2b8 \ubca4\uce58\uc5d0 \ub300\ud55c \ub2e8\uacc4\ub97c \uc815\uc758\ud560 \uc900\ube44\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4:<\/p>\n<ol>\n<li>\uc2dc\uc2a4\ud15c\uc744 \uc54c\ub824\uc9c4 \uc0c1\ud0dc\ub85c \uac00\uc838\uc624\uae30<\/li>\n<li>\ub85c\ub4dc \ud14c\uc2a4\ud2b8 \ub370\uc774\ud130<\/li>\n<li>\ud14c\uc2a4\ud2b8 \ub370\uc774\ud130 \ucffc\ub9ac \ubc0f \uc2e4\ud589 \uc2dc\uac04 \uce21\uc815<\/li>\n<li>\uc778\ub371\uc2a4 \ub9cc\ub4e4\uae30<\/li>\n<li>\ud14c\uc2a4\ud2b8 \ub370\uc774\ud130 \ucffc\ub9ac \ubc0f \uc2e4\ud589 \uc2dc\uac04 \uce21\uc815<\/li>\n<li>\uc2dc\uc2a4\ud15c\uc744 \uc54c\ub824\uc9c4 \uc0c1\ud0dc\ub85c \uac00\uc838\uc624\uae30<\/li>\n<li>\uacb0\uacfc \uc778\uc1c4<\/li>\n<\/ol>\n<h2 id=\"toc_3\">\uad6c\ud604<\/h2>\n<h3 id=\"toc_4\">1\ub2e8\uacc4<\/h3>\n<p>N1QL \ub370\uc774\ud130 \uc870\uc791 \uae30\ub2a5\uc740 \uc544\uc9c1 \ud504\ub9ac\ubdf0 \ubc84\uc804\uc774\uc9c0\ub9cc \uc9c0\uae08 \ubc14\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ub370\uc774\ud130 \uc815\ub9ac\uac00 \ub9e4\uc6b0 \uac04\ub2e8\ud574\uc9d1\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">\"DELETE FROM `default` d WHERE d.type = &apos;perfTest&apos; RETURNING d.Id<\/code><\/pre>\n<p>\uc778\ub371\uc2a4\ub294 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc0ad\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>DROP<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">DROP INDEX `default`.`index_1` USING GSI;\r\nDROP INDEX `default`.`index_2` USING GSI;\r\nDROP INDEX `default`.`index_3` USING GSI;<\/code><\/pre>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uacbd\uc6b0 \uc624\ub958\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. <code>DROP<\/code> \uba85\ub839\uc740 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uc778\ub371\uc2a4\uc5d0 \ub300\ud574 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc778\ub371\uc2a4\uac00 \uc874\uc7ac\ud558\ub294\uc9c0 \uc5ec\ubd80\ub97c \ud655\uc778\ud558\uba74 \uc774 \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">SELECT * FROM system:indexes WHERE name=&apos;index_1&apos;; \r\nSELECT * FROM system:indexes WHERE name=&apos;index_2&apos;; \r\nSELECT * FROM system:indexes WHERE name=&apos;index_3&apos;; <\/code><\/pre>\n<h3 id=\"toc_5\">2\ub2e8\uacc4<\/h3>\n<p>N1QL \ub370\uc774\ud130 \uc870\uc791 \uae30\ub2a5\uc744 \uacc4\uc18d \uc0ac\uc6a9\ud558\uc5ec \uc784\uc758\uc758 \ub370\uc774\ud130 \uc9d1\ud569\uc744 \ub9cc\ub4dc\ub294 \uac83\ub3c4 \uac00\ub2a5\ud558\uc9c0\ub9cc, \ucf54\ub4dc\ub85c \ubb38\uc11c\ub97c \ub9cc\ub4dc\ub294 \uac83\ubcf4\ub2e4 \uc870\uae08 \ub354 \ubcf5\uc7a1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud14c\uc2a4\ud2b8 \ubca4\uce58 \ucf54\ub4dc\ub294 .NET\uc744 \uc0ac\uc6a9\ud558\uc5ec \uad6c\ud604\ub418\uba70 \ubb38\uc11c\ub294 \ub2e4\uc74c C# \uc2a4\ub2c8\ud3ab\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc0dd\uc131\ub429\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-C#\">private static void GenerateDocuments()\r\n{\r\n    int rounds = numberOfTestDocuments > batchSize ? numberOfTestDocuments \/ batchSize : 1;\r\n    int testDocsPerLoop = rounds > 1 ? batchSize : numberOfTestDocuments;\r\n    Random ran = new Random();\r\n\r\n    for (int n = 0; n < rounds; n++)\r\n    {\r\n        var docs = new Dictionary<string, dynamic>();\r\n\r\n        for (int i = 0; i < testDocsPerLoop; i++)\r\n        {\r\n            string id = Guid.NewGuid().ToString();\r\n            string postFix = ran.Next(1, 4).ToString();\r\n            var doc = new\r\n            {\r\n                Id = id,\r\n                type = \"perfTest\",\r\n                IndexedType = \"person\" + postFix,\r\n                NoneIndexedType = \"person\" + postFix,\r\n                Day = ran.Next(1, 29),\r\n                Month = ran.Next(1, 12),\r\n                Year = \"2015\",\r\n                TextSmall = new string(\r\n                    Enumerable.Range(0, ran.Next(100, 250)).Select(item => (char)ran.Next(44, 126)).ToArray()),\r\n                TextMedium = new string(\r\n                    Enumerable.Range(0, ran.Next(200, 500)).Select(item => (char)ran.Next(44, 126)).ToArray()),\r\n                TextLarge = new string(\r\n                    Enumerable.Range(0, ran.Next(700, 1000)).Select(item => (char)ran.Next(44, 126)).ToArray()),\r\n                TextExtraLarge = new string(\r\n                    Enumerable.Range(0, ran.Next(1200, 1500)).Select(item => (char)ran.Next(44, 126)).ToArray())\r\n            };\r\n\r\n            docs.Add(id, doc);\r\n        }\r\n\r\n        ClusterHelper\r\n           .GetBucket(\"default\")\r\n           .Upsert<dynamic>(docs);\r\n\r\n        Console.Write(\".\");\r\n    }\r\n}<\/code><\/pre>\n<p>\uc774 \ubc29\ubc95\uc740 \ub0b4\ubd80 \ub8e8\ud504\uc640 \uc678\ubd80 \ub8e8\ud504\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub0b4\ubd80 \ub8e8\ud504\ub294 \uc5c5\ub85c\ub4dc \ubc30\uce58 \ud06c\uae30\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \uc678\ubd80 \ub8e8\ud504\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\uc5d0 \uc5c5\ub85c\ub4dc\ud560 \ubc30\uce58\uc758 \uc218\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub8e8\ud504\ub294 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \uc138\ud2b8\ub97c \uc5c5\ub85c\ub4dc\ud560 \ub54c \ud504\ub85c\uadf8\ub7a8\uc774 \uba54\ubaa8\ub9ac \ubd80\uc871\uc73c\ub85c \uc2e4\ud589\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud558\uae30 \uc704\ud574 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 id=\"toc_6\">3\ub2e8\uacc4<\/h3>\n<p>\ud14c\uc2a4\ud2b8 \ubb38\uc11c\ub97c Couchbase Server\uc5d0 \uc5c5\ub85c\ub4dc\ud55c \ud6c4\uc5d0\ub294 \ud14c\uc2a4\ud2b8\uc758 \uccab \ubc88\uc9f8 \ubd80\ubd84\uc744 \uc2e4\ud589\ud558\uace0 \uc2e4\ud589 \uc2dc\uac04\uc744 \uae30\ub85d\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">SELECT * FROM `default` WHERE IndexedType=&apos;person3&apos; AND Month > 5 AND Day < 20<\/code><\/pre>\n<p>\ud14c\uc2a4\ud2b8\uc5d0 \uc0ac\uc6a9\ub41c \ubb38\uc11c \uc218\uc5d0 \ub530\ub77c \uc774 \ucffc\ub9ac\uac00 \uc2dc\uac04 \ucd08\uacfc\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 500,000\uac1c\uc758 \ubb38\uc11c\uc5d0 \ub300\ud574 \uc774 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud558\uba74 \uc2dc\uac04 \ucd08\uacfc\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4. 15\ub9cc \uac1c\uc758 \ubb38\uc11c\uc5d0\ub294 \uc57d 15\ucd08\uc758 \ucffc\ub9ac \uc2dc\uac04\uc774 \uc18c\uc694\ub429\ub2c8\ub2e4.<\/p>\n<h3 id=\"toc_7\">4\ub2e8\uacc4<\/h3>\n<p>\uc774\uc81c \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e4 \ucc28\ub840\uc785\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">CREATE INDEX `index_1` ON `default`(IndexedType) USING GSI;\r\nCREATE INDEX `index_2` ON `default`(Month) USING GSI;\r\nCREATE INDEX `index_3` ON `default`(Day) USING GSI;<\/code><\/pre>\n<p>\uadf8\ub9ac\uace0 <code>\uc778\ub371\uc2a4 \uc0dd\uc131<\/code> \uba85\ub839\uc740 \ub3d9\uae30\uc2dd\uc774\uba70 \ubcf4\uc870 \uc778\ub371\uc2a4\uac00 \uc0dd\uc131\ub418\uace0 \uc900\ube44\ub418\uba74 \ubc18\ud658\ub429\ub2c8\ub2e4. \uc989, \uc774 \uba85\ub839\uc740 \ud14c\uc2a4\ud2b8\uc758 \ubb38\uc11c \uc218\uc640 \ucef4\ud4e8\ud130\uc758 \ud06c\uae30\uc5d0 \ub530\ub77c \uc644\ub8cc\ud558\ub294 \ub370 \uc2dc\uac04\uc774 \uac78\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc5ec\ub7ec \uc778\ub371\uc2a4 \ub300 \ud558\ub098\uc758 \uc778\ub371\uc2a4:<\/strong> <em>\ub3c5\ub9bd\uc801\uc778 \uc778\ub371\uc2a4\uac00 \uc5ec\ub7ec \uac1c \uc788\uc73c\uba74 \ub2e4\ub978 \uc18d\uc131\uc774 \ub204\ub77d\ub41c \ub3c5\ub9bd \ucffc\ub9ac\uc5d0\uc11c \uac01 \uc18d\uc131\uc744 \uac80\uc0c9\ud560 \ub54c \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/em><\/p>\n<p><em>\uadf8\ub7ec\ub098 \uc778\ub371\uc2a4\uac00 \ud558\ub098\ub9cc \uc788\uc73c\uba74 \ubcc4\ub3c4\uc758 \uc778\ub371\uc2a4\ub97c \uc720\uc9c0 \uad00\ub9ac\ud574\uc57c \ud558\ub294 \uc624\ubc84\ud5e4\ub4dc\uac00 \uc904\uc5b4\ub4e4\uace0 \ub9ac\uc18c\uc2a4 \uc694\uad6c \uc0ac\ud56d\uc744 \uc904\uc77c \uc218 \uc788\uc73c\uba70, \ubaa8\ub4e0 \ud544\ud130 \uae30\uc900\uc5d0 \uc801\ud569\ud55c \ud56d\ubaa9\uc744 \ud55c \ubc88\uc5d0 \ucc3e\uc744 \uc218 \uc788\uc73c\ubbc0\ub85c \ucffc\ub9ac \uc18d\ub3c4\ub97c \ud6e8\uc52c \ub354 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/p>\n<p><em>\uc138 \uac1c\uc758 \ub3c5\ub9bd\uc801\uc778 \uc778\ub371\uc2a4 \ub300\uc2e0 \uc774 \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/em><\/p>\n<pre>\r\n<code class=\"language-SQL\">CREATE INDEX `index_type_month_year` ON `default`(IndexedType, Month, Year) USING GSI;<\/code><\/pre>\n<p><em>\ub610\ub294 \uc2ec\uc9c0\uc5b4:<\/em><\/p>\n<pre>\r\n<code class=\"language-SQL\">CREATE INDEX `index_type_month_year` ON `default`(IndexedType, Month, Year) WHERE IndexedType=&apos;person3&apos; AND Month > 5 AND Day < 20 USING GSI;<\/code><\/pre>\n<p><em>\ud558\uc9c0\ub9cc \uc774\ub7f0 \uc720\ud615\uc758 \ud14c\uc2a4\ud2b8\uc5d0\ub294 \uc5ec\ub7ec \uac1c\uc758 \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub354 \uc815\ud655\ud558\ub2e4\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4. \ud56d\uc0c1 \ub2e8\uc77c \uc778\ub371\uc2a4\ub85c \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud558\uc5ec \uc2e4\ud589 \uc2dc\uac04\uc758 \ucc28\uc774\ub97c \uce21\uc815\ud558\uace0 \uc774 \uce21\uc815\uac12\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud2b9\uc815 \uc0ac\ub840\uc5d0\uc11c \ubb34\uc5c7\uc774 \ucd5c\uc120\uc778\uc9c0 \ucd5c\uc885 \uacb0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/p>\n<h3 id=\"toc_8\">5\ub2e8\uacc4<\/h3>\n<p>\uc778\ub371\uc2a4\uac00 \uc0dd\uc131\ub41c \ud6c4\uc5d0\ub294 \ud14c\uc2a4\ud2b8\uc758 \ub450 \ubc88\uc9f8 \ubd80\ubd84\uc744 \uc2e4\ud589\ud558\uace0 \uc2e4\ud589 \uc2dc\uac04\uc744 \uae30\ub85d\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4:<\/p>\n<pre>\r\n<code class=\"language-SQL\">SELECT * FROM `default` WHERE IndexedType=&apos;person3&apos; AND Month > 5 AND Day < 20<\/code><\/pre>\n<blockquote>\n<p>\ucc38\uace0: \uc774 \ucffc\ub9ac\ub294 3\ub2e8\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud55c \uac83\uacfc \uc644\uc804\ud788 \ub3d9\uc77c\ud55c \ucffc\ub9ac\uc785\ub2c8\ub2e4. \ucffc\ub9ac \uc790\uccb4\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<p>\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc77c\ubc18\uc801\uc778 \uc2e4\ud589 \uc2dc\uac04\uc740 4ms\uc5d0\uc11c 23ms \uc0ac\uc774\uc785\ub2c8\ub2e4! \uc774\ub294 \ud070 \ucc28\uc774\uc785\ub2c8\ub2e4! \uadf8\ub807\ub2e4\uba74 \ub370\uc774\ud130 \uc138\ud2b8 \ud06c\uae30\uac00 \uc774 \uce21\uc815\uac12\uc5d0 \uc5b4\ub5a4 \uc601\ud5a5\uc744 \ubbf8\uce60\uae4c\uc694? \uadf8 \ub2f5\uc744 \uc5bb\uc73c\ub824\uba74 \uacc4\uc18d \uc77d\uc5b4\ubcf4\uc154\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3 id=\"toc_9\">6\ub2e8\uacc4<\/h3>\n<p>\ubaa8\ub4e0 \ud14c\uc2a4\ud2b8 \ubb38\uc11c\ub97c \uc0ad\uc81c\ud558\uace0 \uc778\ub371\uc2a4\ub97c \uc0ad\uc81c\ud55c \ud6c4 \uc2dc\uc2a4\ud15c\uc744 \ud14c\uc2a4\ud2b8 \uc2e4\ud589 \uc804\uc758 \uc54c\ub824\uc9c4 \uc0c1\ud0dc\ub85c \ub418\ub3cc\ub9bd\ub2c8\ub2e4. 1\ub2e8\uacc4\uc640 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<p>1\ub2e8\uacc4\ub098 6\ub2e8\uacc4 \uc911 \uc5b4\ub290 \ud558\ub098\ub77c\ub3c4 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4\uace0 \uc8fc\uc7a5\ud560 \uc218\ub3c4 \uc788\uc9c0\ub9cc, \ub458 \ub2e4 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8 \uc2e4\ud589\uc774 \uc911\ub2e8\ub418\ub294 \uacbd\uc6b0(\ucde8\uc18c, \uc2e4\ud328 \ub4f1)\ub97c \uc0dd\uac01\ud574 \ubcf4\uc138\uc694.<\/p>\n<h3 id=\"toc_10\">7\ub2e8\uacc4<\/h3>\n<p>\ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\uc774\uc790 \uac00\uc7a5 \ud765\ubbf8\ub85c\uc6b4 \ub2e8\uacc4\uc778 \uacb0\uacfc\ubb3c\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub0b4 \uc2dc\uc2a4\ud15c\uc758 \uacb0\uacfc\uc785\ub2c8\ub2e4:<\/p>\n<p><img decoding=\"async\" alt=\"Test 1\" src=\"https:\/\/raw.githubusercontent.com\/martinesmann\/cb-n1ql-index-demo\/master\/Content\/test-1.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Test 2\" src=\"https:\/\/raw.githubusercontent.com\/martinesmann\/cb-n1ql-index-demo\/master\/Content\/test-2.png\" \/><\/p>\n<p><strong>\ub0b4 \uc2dc\uc2a4\ud15c\uc758 \uacb0\uacfc \uc694\uc57d:<\/strong><\/p>\n<p>\ub9e5\ubd81 \ud504\ub85c 16GB \uba54\ubaa8\ub9ac, \uc708\ub3c4\uc6b0 10\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84, 10GB \uba54\ubaa8\ub9ac\uc758 \ud328\ub7ec\ub810\uc988 \ub370\uc2a4\ud06c\ud1b1(\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84\uc5d0\ub294 2GB \uba54\ubaa8\ub9ac\uac00 \ubd80\uc5ec\ub428)<\/p>\n<ul>\n<li>15.000\uac1c\uc758 \ubb38\uc11c\n<ul>\n<li>NO-index: 15<strong>s<\/strong><\/li>\n<li>\uc0c9\uc778: 7<strong>ms<\/strong><\/li>\n<\/ul>\n<\/li>\n<li>500.000\uac1c\uc758 \ubb38\uc11c:\n<ul>\n<li>NO \uc778\ub371\uc2a4: \uc2dc\uac04 \ucd08\uacfc(5\ucd08 \uc774\uc0c1)<strong>\ubd84<\/strong>)<\/li>\n<li>\uc0c9\uc778: 10<strong>ms<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>\uad00\ucc30<\/strong>, <em>\uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud560 \ub54c \uc2e4\ud589 \uc2dc\uac04 \uce21\uba74\uc5d0\uc11c 15\ub9cc \uac1c\uc758 \ubb38\uc11c\ub098 50\ub9cc \uac1c\uc758 \ubb38\uc11c\ub098 \ud070 \ucc28\uc774\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/em><\/p>\n<p><strong>\ud559\uc2b5<\/strong>, <em>\ubcf4\uc870 \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \uc815\ub9d0 \uc911\uc694\ud558\uba70 \ucffc\ub9ac \uc131\ub2a5\uc5d0 \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4!<\/em><\/p>\n<h2 id=\"toc_11\">\uc18c\uc2a4 \ucf54\ub4dc<\/h2>\n<p>\uc18c\uc2a4 \ucf54\ub4dc\ub294 GitHub\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><a href=\"https:\/\/github.com\/martinesmann\/cb-n1ql-index-demo\">N1QL \uc778\ub371\uc2a4 \ud14c\uc2a4\ud2b8 \ucf54\ub4dc<\/a><\/p>\n<p>\uc774 \uad6c\ud604\uc740 \uc2dc\uac04 \ucd08\uacfc\/\uc624\ub958\ub97c \ubcf4\uc815\ud558\uace0 \uc791\uc5c5 \uc2e4\ud328 \ubc0f \uc2dc\uac04 \ucd08\uacfc \uc2dc \uc7ac\uc2dc\ub3c4\ub97c \uc2dc\ub3c4\ud569\ub2c8\ub2e4.<\/p>\n<p>N1QL\uc758 \ubca0\ud0c0 \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \ub54c \uc2dc\uac04 \ucd08\uacfc\uac00 \uc790\uc8fc \ubc1c\uc0dd\ud569\ub2c8\ub2e4. <code>\uc0ad\uc81c<\/code> \ub97c \uc0ac\uc6a9\ud558\uc5ec \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \uc138\ud2b8(500,000\uac1c \ubb38\uc11c)\uc5d0 \ub300\ud574 \ud14c\uc2a4\ud2b8\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc740 \uc544\uc9c1 \ud504\ub9ac\ubdf0 \ubc84\uc804\uc774\ubbc0\ub85c \ucd9c\uc2dc \uc2dc\uc5d0\ub294 \uc774\ub7ec\ud55c \ub3d9\uc791\uc744 \uc608\uc0c1\ud560 \uc218 \uc5c6\uc9c0\ub9cc, \uc9c0\uae08\uc740 \uc774\ub7ec\ud55c \ub3d9\uc791\uc744 \uc608\uc0c1\ud558\uace0 \uadf8\uc5d0 \ub530\ub77c \ubcf4\uc644\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 id=\"toc_12\">\ubca4\uce58\ub9c8\ud06c\uc5d0 \ub300\ud55c \uc774\uc57c\uae30\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\ud669\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4.<\/h2>\n<p>\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc5b4\ub5a4 \uc131\ub2a5\uc744 \uae30\ub300\ud560 \uc218 \uc788\ub098\uc694? \uc0c1\ud669\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4! \ud558\uc9c0\ub9cc \uc774\uc81c \uc124\uc815\uc5d0 \ub300\ud574 \ud14c\uc2a4\ud2b8 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\uc5ec \ub354 \ub098\uc740 \uc544\uc774\ub514\uc5b4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc9c0\ub9cc \ud55c \uac00\uc9c0\ub294 \ud655\uc2e4\ud569\ub2c8\ub2e4! \ubcf4\uc870 \uc778\ub371\uc2a4\ub97c \ub9cc\ub4dc\ub294 \uac83\uc744 \uc78a\uc9c0 \ub9c8\uc138\uc694! \uc131\ub2a5\uc774 \ud06c\uac8c \ud5a5\uc0c1\ub429\ub2c8\ub2e4! \uc22b\uc790\ub85c \ub9d0\ud558\uba74 \uc778\ub371\uc2a4\ub294 \uc131\ub2a5\uc744 100~1000\ubc30\uae4c\uc9c0 \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud558\uba74 \ud074\ub7ec\uc2a4\ud130\uc758 CPU \uc0ac\uc6a9\ub7c9\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\ubbc0\ub85c \uc5b4\ub5a4 \uc778\ub371\uc2a4\ub97c \uad6c\ud604\ud560\uc9c0 \uc815\ud655\ud788 \uace0\ub824\ud558\uace0 \ud544\uc694 \uc774\uc0c1\uc73c\ub85c \ub9cc\ub4e4\uc9c0 \uc54a\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud55c \uc904\uc758 \ucf54\ub4dc\ub85c\ub294 \uc815\ub9d0 \uac00\uc131\ube44\uac00 \ub6f0\uc5b4\ub0a9\ub2c8\ub2e4.)<\/p>\n<pre>\r\n<code class=\"language-SQL\">CREATE INDEX `{INDEX_NAME}` ON `{BUCKET_NAME}`({ATTRIBUTE_NAME}) USING GSI;<\/code><\/pre>\n<p>\ud14c\uc2a4\ud2b8 \uacb0\uacfc\ub97c \uc544\ub798 \ub313\uae00\uc5d0 \uc790\uc720\ub86d\uac8c \uac8c\uc2dc\ud558\uc5ec N1QL\uc5d0\uc11c \uae30\ub300\ud560 \uc218 \uc788\ub294 \uc131\ub2a5\uc5d0 \ub300\ud574 \ub354 \uc798 \uc774\ud574\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc8fc\uc138\uc694.<\/p>","protected":false},"excerpt":{"rendered":"<p>Indexes for N1QL: or how I got an order magnitude speed increase In Couchbase 4.0 we introduced N1QL query language: a flexible query language that brings SQL-like query to JSON documents. Whenever we talk about N1QL the conversation always opens [&hellip;]<\/p>","protected":false},"author":54,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,10127,9417,1812],"tags":[1505,1877,1506],"ppma_author":[9027],"class_list":["post-2033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-c-sharp","category-performance","category-n1ql-query","tag-index","tag-testing","tag-tuning"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Indexes for N1QL: or how I got an order magnitude speed increase - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Indexes for N1QL: or how I got an order magnitude speed increase\" \/>\n<meta property=\"og:description\" content=\"Indexes for N1QL: or how I got an order magnitude speed increase In Couchbase 4.0 we introduced N1QL query language: a flexible query language that brings SQL-like query to JSON documents. Whenever we talk about N1QL the conversation always opens [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-16T19:41:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:03:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/raw.githubusercontent.com\/martinesmann\/cb-n1ql-index-demo\/master\/Content\/test-1.png\" \/>\n<meta name=\"author\" content=\"Martin Esmann, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Esmann, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\"},\"author\":{\"name\":\"Martin Esmann, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8\"},\"headline\":\"Indexes for N1QL: or how I got an order magnitude speed increase\",\"datePublished\":\"2015-12-16T19:41:27+00:00\",\"dateModified\":\"2025-06-14T06:03:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\"},\"wordCount\":1924,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Index\",\"testing\",\"Tuning\"],\"articleSection\":[\".NET\",\"C#\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\",\"name\":\"Indexes for N1QL: or how I got an order magnitude speed increase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-12-16T19:41:27+00:00\",\"dateModified\":\"2025-06-14T06:03:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Indexes for N1QL: or how I got an order magnitude speed increase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8\",\"name\":\"Martin Esmann, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/af6bbf8de1ed87c78bfbc9ac7454a4fc\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g\",\"caption\":\"Martin Esmann, Developer Advocate, Couchbase\"},\"description\":\"Martin Esmann is a .Net Developer Advocate at Couchbase. He is a passionate developer with a deep focus on Microsoft Technologies like .NET.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/martin-esmann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Indexes for N1QL: or how I got an order magnitude speed increase - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/","og_locale":"ko_KR","og_type":"article","og_title":"Indexes for N1QL: or how I got an order magnitude speed increase","og_description":"Indexes for N1QL: or how I got an order magnitude speed increase In Couchbase 4.0 we introduced N1QL query language: a flexible query language that brings SQL-like query to JSON documents. Whenever we talk about N1QL the conversation always opens [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-12-16T19:41:27+00:00","article_modified_time":"2025-06-14T06:03:43+00:00","og_image":[{"url":"https:\/\/raw.githubusercontent.com\/martinesmann\/cb-n1ql-index-demo\/master\/Content\/test-1.png","type":"","width":"","height":""}],"author":"Martin Esmann, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Martin Esmann, Developer Advocate, Couchbase","Est. reading time":"9\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/"},"author":{"name":"Martin Esmann, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8"},"headline":"Indexes for N1QL: or how I got an order magnitude speed increase","datePublished":"2015-12-16T19:41:27+00:00","dateModified":"2025-06-14T06:03:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/"},"wordCount":1924,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Index","testing","Tuning"],"articleSection":[".NET","C#","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/","url":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/","name":"Indexes for N1QL: or how I got an order magnitude speed increase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-12-16T19:41:27+00:00","dateModified":"2025-06-14T06:03:43+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/indexes-for-n1ql-or-how-i-got-an-order-magnitude-speed-increase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Indexes for N1QL: or how I got an order magnitude speed increase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2795ae2ee44b46479499d6fa514b7ee8","name":"Martin Esmann, \uac1c\ubc1c\uc790 \uc639\ud638\uc790, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/af6bbf8de1ed87c78bfbc9ac7454a4fc","url":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","caption":"Martin Esmann, Developer Advocate, Couchbase"},"description":"Martin Esmann\uc740 Couchbase\uc758 .NET \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 .NET\uacfc \uac19\uc740 Microsoft \uae30\uc220\uc5d0 \uae4a\uc740 \uad00\uc2ec\uc744 \uac00\uc9c0\uace0 \uc788\ub294 \uc5f4\uc815\uc801\uc778 \uac1c\ubc1c\uc790\uc785\ub2c8\ub2e4.","url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/martin-esmann\/"}]}},"authors":[{"term_id":9027,"user_id":54,"is_guest":0,"slug":"martin-esmann","display_name":"Martin Esmann, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/c8aea3b717146fd35e6b3c299ba8b331987c90cb1996f0141f0c6de29aa04c4b?s=96&d=mm&r=g","author_category":"","last_name":"Esmann","first_name":"Martin","job_title":"","user_url":"","description":"Martin Esmann\uc740 Couchbase\uc758 .NET \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 .NET\uacfc \uac19\uc740 Microsoft \uae30\uc220\uc5d0 \uae4a\uc740 \uad00\uc2ec\uc744 \uac00\uc9c0\uace0 \uc788\ub294 \uc5f4\uc815\uc801\uc778 \uac1c\ubc1c\uc790\uc785\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2033"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2033\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2033"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}