{"id":1318,"date":"2013-07-15T02:51:58","date_gmt":"2013-07-15T02:51:58","guid":{"rendered":"http:\/\/brain.payzip.co.kr\/?p=1318"},"modified":"2013-07-15T02:51:58","modified_gmt":"2013-07-15T02:51:58","slug":"mysql%ed%9e%99%ed%85%8c%ec%9d%b4%eb%b8%94-heap-table","status":"publish","type":"post","link":"https:\/\/blog.goorigo.com\/?p=1318","title":{"rendered":"[MySQL][\ud799\ud14c\uc774\ube14] heap table"},"content":{"rendered":"<p><span style=\"font-size: xx-large;\">HEAP \ub610\ub294 MEMORY \ud615\uc2dd\uc758 \ud14c\uc774\ube14\u00a0<\/span><br \/>\nMEMORY engine\uc740 HEAP engine\uc744 \uc758\ubbf8\ud55c\ub2e4.<\/p>\n<hr size=\"5\" \/>\n<p><span style=\"font-size: large;\"><span style=\"font-size: large;\">HEAP \ud615\uc2dd\uc758 \ud14c\uc774\ube14\uc740 \uc6d0\ub798 \ud14c\uc774\ube14\uc758 \uc778\ub371\uc2a4\ub97c \uace0\uccd0\ub9cc\ub4e0(hashed) \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba54\ubaa8\ub9ac(RAM)\uc5d0 \uc800\uc7a5\ud55c\ub2e4. \uba54\ubaa8\ub9ac\uc5d0 \uc800\uc7a5\ub418\uae30 \ub54c\ubb38\uc5d0 \uc18d\ub3c4\uac00 \ub9e4\uc6b0 \ube60\ub974\uc9c0\ub9cc, MySQL\uc774 \ucda9\ub3cc\ud558\uba74 \uba54\ubaa8\ub9ac\uc5d0 \uc800\uc7a5\ub41c \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \uc783\uac8c \ub41c\ub2e4. HEAP \ud615\uc2dd\uc758 \ud14c\uc774\ube14\uc740 \uc784\uc2dc \ud14c\uc774\ube14\ub85c \uc720\uc6a9\ud558\ub2e4. HEAP \ud14c\uc774\ube14\uc5d0\uc11c DELETE, INSERT \ubb38\uc740 \uace0\uccd0\ub9cc\ub4e0(hashed) \ud14c\uc774\ube14\uc774\uae30 \ub54c\ubb38\uc5d0 \uc6d0\ub798\uc758 \ud14c\uc774\ube14\uc5d0\ub294 \uc544\ubb34\ub7f0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\ub294\ub2e4. \ub0b4\ubd80\uc801\uc73c\ub85c HEAP \ud14c\uc774\ube14\uc740 100% \uba54\ubaa8\ub9ac\ub97c \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 \ub2e4\ub978 \ubaa9\ub85d\uc5d0 \uc0ac\uc6a9\ud560 \uc5ec\uc720\uacf5\uac04\uc774 \uc5c6\ub2e4.<br \/>\nHEAP \ud615\uc2dd\uc758 \ud14c\uc774\ube14\uacfc\u00a0<a href=\"http:\/\/radiocom.kunsan.ac.kr\/lecture\/mysql\/table_memory.html\" target=\"_blank\">MEMORY \uc5d4\uc9c4\uc744 \uc0ac\uc6a9\ud55c \ud14c\uc774\ube14<\/a>\uc740 \ub3d9\uc77c\ud558\ub2e4.<\/span><\/span><\/p>\n<pre>\u3010\uc608\uc81c\u3011\nmysql&gt; <strong>select * from river;<\/strong>\n+----+------------+----------+\n| id | river_name | province |\n+----+------------+----------+\n|  1 | \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n|  2 | \ub300\ub3d9\uac15     | \ud3c9\uc548\ub3c4   |\n|  3 | \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n|  4 | \ud55c\uac15       | \uac15\uc6d0\ub3c4   |\n+----+------------+----------+\n4 rows in set (0.00 sec)\n\nmysql&gt; <strong>create table test type=heap -&gt; select river_name,province from river;<\/strong>\nQuery OK, 4 rows affected (0.01 sec)\nRecords: 4  Duplicates: 0  Warnings: 0\n\nmysql&gt; <strong>select * from test;<\/strong>\n+------------+----------+\n| river_name | province |\n+------------+----------+\n| \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n| \ub300\ub3d9\uac15     | \ud3c9\uc548\ub3c4   |\n| \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n| \ud55c\uac15       | \uac15\uc6d0\ub3c4   |\n+------------+----------+\n4 rows in set (0.00 sec)\n\nmysql&gt; <strong>delete from test where river_name=\"\ub300\ub3d9\uac15\";<\/strong>\nQuery OK, 1 row affected (0.00 sec)\n\nmysql&gt; <strong>select * from test;<\/strong>\n+------------+----------+\n| river_name | province |\n+------------+----------+\n| \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n| \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n| \ud55c\uac15       | \uac15\uc6d0\ub3c4   |\n+------------+----------+\n3 rows in set (0.00 sec)\n\nmysql&gt; <strong>select * from river;<\/strong>\n+----+------------+----------+\n| id | river_name | province |\n+----+------------+----------+\n|  1 | \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n|  2 | \ub300\ub3d9\uac15     | \ud3c9\uc548\ub3c4   |\n|  3 | \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n|  4 | \ud55c\uac15       | \uac15\uc6d0\ub3c4   |\n+----+------------+----------+\n4 rows in set (0.00 sec)\n\nmysql&gt; <strong>update test set province=\"\uacbd\uae30\ub3c4\" -&gt; where river_name=\"\ud55c\uac15\";<\/strong>\nQuery OK, 1 row affected (0.00 sec)\nRows matched: 1  Changed: 1  Warnings: 0\n\nmysql&gt; <strong>select * from test;<\/strong>\n+------------+----------+\n| river_name | province |\n+------------+----------+\n| \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n| \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n| \ud55c\uac15       | \uacbd\uae30\ub3c4   |\n+------------+----------+\n3 rows in set (0.00 sec)\n\nmysql&gt; <strong>select * from river;<\/strong>\n+----+------------+----------+\n| id | river_name | province |\n+----+------------+----------+\n|  1 | \uae08\uac15       | \uc804\ub77c\ubd81\ub3c4 |\n|  2 | \ub300\ub3d9\uac15     | \ud3c9\uc548\ub3c4   |\n|  3 | \uc601\uc0b0\uac15     | \uc804\ub77c\ub0a8\ub3c4 |\n|  4 | \ud55c\uac15       | \uac15\uc6d0\ub3c4   |\n+----+------------+----------+\n4 rows in set (0.00 sec)\n\nmysql&gt; <strong>drop table test;<\/strong>\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql&gt;\n\nHEAP \ud615\uc2dd\uc758 \ud14c\uc774\ube14\uc774 \uac00\uc9c0\ub294 \ud2b9\uc9d5\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.\n \u2022 heap \ud14c\uc774\ube14\uc744 \ub9cc\ub4e4 \ub54c \ubaa8\ub4e0 \uba54\ubaa8\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub3c4\ub85d <strong>MAX_ROWS<\/strong>\ub97c \uc9c0\uc815\ud574\uc57c\ud55c\ub2e4.\n \u2022 \uc778\ub371\uc2a4\ub294 =\ub098 &lt;=&gt;\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud55c\ub2e4.\n \u2022 heap \ud14c\uc774\ube14\uc740 row\ub97c \ucc3e\uae30 \uc704\ud574\uc11c key\uc758 \uc804\uccb4(whole)\ub97c \uc0ac\uc6a9\ud55c\ub2e4. \uc774\ub294 MyISAM \ud14c\uc774\n    \ube14\uc5d0\uc11c\ub294 key\uc758 prefix\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uacfc \ube44\uad50\ub41c\ub2e4.\n \u2022 HEAP \ud14c\uc774\ube14\uc740 \uace0\uc815 \ub808\ucf54\ub4dc \uae38\uc774 \ud3ec\ub9f7\uc744 \uac00\uc9c4\ub2e4.\n \u2022 HEAP \ud14c\uc774\ube14\uc740 BLOB\/TEXT \uceec\ub7fc\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.\n \u2022 HEAP \ud14c\uc774\ube14\uc740 AUTO_INCREMENT \uceec\ub7fc\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.\n \u2022 HEAP \ud14c\uc774\ube14\uc740 non-unique key\ub97c \uac00\uc9c8 \uc218  \uc788\ub2e4. \uc774\ub294 hashed\ud55c \ud14c\uc774\ube14\uc758 \uacf5\ud1b5 \uc0ac\ud56d\n    \uc774 \uc544\ub2c8\ub2e4.\n \u2022 \ubaa8\ub4e0 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 HEAP \ud14c\uc774\ube14\uc744 \uacf5\uc720\ud560 \uc218 \uc788\ub2e4.\n \u2022 order\uc5d0 \uc758\ud55c \ub2e4\uc74c \uc5d4\ud2b8\ub9ac\ub97c \ucc3e\uc9c0 \ubabb\ud55c\ub2e4.\n \u2022 heap \ud14c\uc774\ube14\uc758 \ub370\uc774\ud130\ub294 \uc791\uc740 \ube14\ub85d\uc73c\ub85c \uc790\ub9ac\ub97c \ucc28\uc9c0\ud558\uc9c0\ub9cc, INSERT\uc5d0\uc11c 100% \n    dynamic\ud558\uc5ec \uceec\ub7fc \ud544\ub4dc\uc758 \ud06c\uae30\ub97c \uac00\ubcc0\ud55c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c overflow \uc601\uc5ed\uc774 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uace0 \n    extra key\uc758 \uacf5\uac04\uc774 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4.\n \u2022 \ubaa8\ub4e0 heap \ud14c\uc774\ube14\uc744 \ub3d9\uc2dc\uc5d0 \uc0ac\uc6a9\ud558\ub824\uba74 \ucda9\ubd84\ud55c \uc5ec\ubd84\uc758 \uba54\ubaa8\ub9ac\uac00 \uc694\uad6c\ub41c\ub2e4.\n \u2022 <strong>DELETE FROM heap_table, TRUNCATE hweap_table, DROP TABLE heap_table<\/strong>\uc744 \uc2e4\ud589\ud558\uc5ec \uba54\n    \ubaa8\ub9ac \uc810\uc720\ub97c \ud574\uc9c0\ud55c\ub2e4.\n \u2022 MySQL\uc740 \ub450 \uac12 \uc0ac\uc774\uc5d0 \uba87 \uac1c\uc758 row\uac00 \uc788\ub294\uc9c0 \uc54c\uc544\ub0b4\uc9c0 \ubabb\ud55c\ub2e4.\n \u2022 HEAP \ud14c\uc774\ube14\uc740 NULL \uceec\ub7fc\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.\n \u2022 max_heap_table_size\ubcf4\ub2e4 \ub354 \ud070 heap \ud14c\uc774\ube14\uc744 \ub9cc\ub4e4\uc9c0 \ubabb\ud55c\ub2e4.\n\n HEAP \ud14c\uc774\ube14\uc774 \ucc28\uc9c0\ud558\ub294 \uba54\ubaa8\ub9ac\uc758 \ud06c\uae30 :\n\n    <strong>SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*)*2) + ALIGN(length_of_row + 1, sizeof(char*))<\/strong>\n\n    \uc5ec\uae30\uc11c sizeof(char*)\uc740 32\ube44\ud2b8 \uc2dc\uc2a4\ud15c\uc740 4, 64\ube44\ud2b8 \uc2dc\uc2a4\ud15c\uc740 8\uc774\ub2e4.<\/pre>\n<hr \/>\n<pre>\ub2e4\uc74c\uc740 MEMORY\uc5d4\uc9c4\uacfc HEAP \uc5d4\uc9c4\uc774 \uac19\uc74c\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\n\nmysql&gt; <strong>create table bb2(a int, name varchar(20))ENGINE=HEAP;<\/strong>\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql&gt; <strong>show create table bb2;<\/strong>\n+-------+-------------------------------------------------------------------------------------------------\n| Table | Create Table                                                                                                              |\n+-------+---------------------------------------------------------------------------------------------------------------------------+\n| bb2   | CREATE TABLE `bb2` (\n  `a` int(11) DEFAULT NULL,\n  `name` varchar(20) DEFAULT NULL\n) ENGINE=MEMORY DEFAULT CHARSET=latin1 |\n+-------+---------------------------------------------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql&gt; <strong>create table bb3(a int, name varchar(20))ENGINE=MEMORY;<\/strong>\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql&gt; <strong>show create table bb2;<\/strong>\n+-------+-------------------------------------------------------------------------------------------------\n| Table | Create Table                                                                                                    |\n+-------+-------------------------------------------------------------------------------------------------\n| bb2   | CREATE TABLE `bb3` (\n  `a` int(11) DEFAULT NULL,\n  `name` varchar(20) DEFAULT NULL\n) ENGINE=MEMORY DEFAULT CHARSET=latin1 |\n+-------+-------------------------------------------------------------------------------------------------\n1 row in set (0.00 sec)\n\nmysql&gt; \n\n\ucd9c\ucc98 : <a href=\"http:\/\/radiocom.kunsan.ac.kr\/lecture\/mysql\/table_heap.html\">http:\/\/radiocom.kunsan.ac.kr\/lecture\/mysql\/table_heap.html<\/a>\n\n\uace0\ub824\uc0ac\ud56d\na) You should always use specify MAX_ROWS in the CREATE statement to ensure that you accidentally do not use all memory.\u00a0\n\u00a0\u00a0:\u00a0\uac11\uc790\uae30 \ubaa8\ub4e0 \uba54\ubaa8\ub9ac\uac00 \uace0\uac08\ub418\uc9c0 \uc54a\ub3c4\ub85d CREATE \uad6c\ubb38 \uc0ac\uc6a9\uc2dc MAX_ROWS \uc0ac\uc6a9\n\nb) Indexes will only be used with = and &lt;=&gt; (but are VERY fast).\u00a0\n\u00a0\u00a0: = \uc640 &lt;=&gt; \uc5d0 \uc778\ub371\uc2a4 \uc0ac\uc6a9\uac00\ub2a5\n\nc) HEAP tables can only use whole keys to search for a row; compare this to MyISAM tables where any prefix of the key can be used to find rows.\u00a0\n\u00a0\u00a0: MyISAM \ucc98\ub7fc \ubd80\ubd84\ud0a4 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\uc9c0 \uc54a\uace0 \uc804\uccb4\ud0a4\ub9cc \uc0ac\uc6a9\uac00\ub2a5\n\nd) HEAP tables use a fixed record length format.\u00a0\n\u00a0\u00a0: \uace0\uc815\ub41c \ub808\ucf54\ub4dc \uae38\uc774 \ud3ec\ub9f7\uc0ac\uc6a9\n\ne) HEAP doesn't support BLOB\/TEXT columns.\u00a0\n\u00a0\u00a0: BLOB\/TEXT \ud0c0\uc785 \uceec\ub7fc \uc9c0\uc6d0 \uc548\ub428\n\nf) HEAP doesn't support AUTO_INCREMENT columns.\u00a0\n\u00a0\u00a0: AUTO_INCREMENT \uc9c0\uc6d0 \uc548\ub428\n\ng) Prior to MySQL 4.0.2, HEAP doesn't support an index on a NULL column.\u00a0\n\u00a0\u00a0: 4.0.2 \uc774\uc804 \ubc84\uc804\uc740 NULL \uceec\ub7fc \uc778\ub371\uc2a4 \uc9c0\uc6d0 \uc548\ud568\u00a0\n\nh) You can have non-unique keys in a HEAP table (this isn't common for hashed tables).\u00a0\n\u00a0\u00a0: non-unique \ud0a4 \uc0ac\uc6a9\uac00\ub2a5(\uc77c\ubc18\uc801 hashed table \uc740 \uadf8\ub807\uc9c0 \uc54a\uc74c)\n\ni) HEAP tables are shared between all clients (just like any other table).\u00a0\n\u00a0\u00a0: \ub2e4\ub978\ud14c\uc774\ube14\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \ubaa8\ub4e0 \ud074\ub77c\uc774\uc5b8\ud2b8\ub4e4\uc774 \uacf5\uc720\ub428.\n\nj) You can't search for the next entry in order (that is, to use the index to do an ORDER BY).\u00a0\n\u00a0\u00a0: \uc21c\uc11c\ub300\ub85c \ub2e4\uc74c entry \ub97c \uac80\uc0c9 \ubd88\uac00. (order by \uc704\ud574 \uc778\ub371\uc2a4 \uc0ac\uc6a9\ud558\ub294)\n\nk) Data for HEAP tables are allocated in small blocks. The tables are 100% dynamic (on inserting). No overflow areas and no extra key space are needed. Deleted rows are put in a linked list and are reused when you insert new data into the table.\u00a0\n\u00a0\u00a0: heap \ud14c\uc774\ube14 \ub370\uc774\ud0c0\ub294 \uc791\uc740 \ube14\ub85d\uc73c\ub85c \uc704\uce58\ud558\uace0 \uc788\uace0 100% \ub3d9\uc801. \uc624\ubc84\ud50c\ub85c\uc6b0 \uc601\uc5ed\uc774\uacfc \ud0a4 \uacf5\uac04\uc774 \ud544\uc694\uc5c6\uc74c. \uc9c0\uc6d0\uc9c4 \uc5f4\uc740 \ub9c1\ud06c\ub4dc \ub9ac\uc2a4\ud2b8\uc5d0 \ub193\uc5ec\uc800 \ud14c\uc774\ube14 \uc548\uc5d0 \uc0c8\ub85c\uc6b4 \ub370\uc774\ud0c0\ub97c \uc785\ub825\ud560 \ub54c \uc7ac\uc0ac\uc6a9\ub428\n\nl) You need enough extra memory for all HEAP tables that you want to use at the same time.\u00a0\n\u00a0\u00a0: \ubaa8\ub4e0 \ud799\ud14c\uc774\ube14 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574 \ucda9\ubd84\ud55c \uc5ec\uc720\uc758 \uba54\ubaa8\ub9ac \ud544\uc694\n\nm) To free memory, you should execute DELETE FROM heap_table, TRUNCATE heap_table or DROP TABLE heap_table.\u00a0\n\u00a0\u00a0: \uba54\ubaa8\ub9ac \ud574\uc81c\ud558\ub824\uba74 DELETE FROM heap_table, TRUNCATE heap_table or DROP TABLE heap_table\u00a0\n\nn) MySQL cannot find out approximately how many rows there are between two values (this is used by the range optimiser to decide which index to use). This may affect some queries if you change a MyISAM table to a HEAP table.\u00a0\n: \uc778\ub371\uc2a4 \uc0ac\uc6a9 \uacb0\uc815 \uc704\ud574 \uc635\ud2f0\ub9c8\uc774\uc800\uac00 \uc0ac\uc6a9\ud558\ub294 \ub450 \uac12\uc0ac\uc774\uc758 \uc5f4\uac2f\uc218\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c.\n\u00a0\u00a0 myisam -&gt; heap \ubcc0\ud658\uc2dc \uc77c\ubd80 \ucffc\ub9ac\uc5d0 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\uc74c.\n\no) To ensure that you accidentally don't do anything foolish, you can't create HEAP tables bigger than max_heap_table_size.\u00a0\n:\u00a0\u00a0max_heap_table_size \ubcf4\ub2e4 \ud070 heap \ud14c\uc774\ube14\uc740 \ub9cc\ub4e4 \uc218 \uc5c6\uc73c\ubbc0\ub85c \uac11\uc790\uae30 \ubc14\ubcf4\uc9d3(^^)\ud558\uc9c0 \uc54a\ub3c4\ub85d.\n\n* \ubaa8\ub450\uac00 \uc911\uc694\ud558\uace0 \uacb0\uc815\uc801\uc740 \uc21c\uac04\uc5d4 \ubb38\uc81c\uac00 \ub420 \uc18c\uc9c0\uac00 \uc788\uc9c0\ub9cc \ucc98\uc74c \ud14c\uc774\ube14 \uc0ac\uc6a9\uc2dc a),e),f)\u00a0\n\uadf8\ub9ac\uace0 m) \ud56d\ubaa9\uc744 \uc8fc\uc758\ud558\uba74 \uba54\ubaa8\ub9ac \ud6a8\uc728\uc744 \ub5a8\uc5b4\ub728\ub9ac\uc9c0 \uc54a\uc744 \uac83 \uac19\ub124\uc694.\n\n* \ucc38\uace0\ub85c \ud544\uc694\ud55c \uba54\ubaa8\ub9ac \uacc4\uc0b0\ubc95\uc785\ub2c8\ub2e4.\nSUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2)+ ALIGN(length_of_row+1, sizeof(char*))\n\nsizeof(char*) \ub294 32-bit \uba38\uc2e0\uc5d0\uc11c 4, 64-bit \uba38\uc2e0\uc5d0\uc120 8 \uc784\ub2e4.(\ubdf0\ud2f0\ub137 \ub2f9\uadfc 32-bit)\n\n* MySQL 5.1 \uc5d0\uc11c view \ud14c\uc774\ube14\uc744 \uc9c0\uc6d0\ud560 \uc608\uc815\uc774\ub78d\ub2c8\ub2e4<\/pre>\n<div>\n<p><strong>[\ucd9c\ucc98]<\/strong>\u00a0<a href=\"http:\/\/blog.naver.com\/seein7\/100008910514\" target=\"_blank\">[MySQL] heap \ud14c\uc774\ube14 \uc0ac\uc6a9\uc2dc \uace0\ub824\ud560 \uba87\uac00\uc9c0 \uac83\ub4e4<\/a><\/p>\n<div><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>HEAP \ub610\ub294 MEMORY \ud615\uc2dd\uc758 \ud14c\uc774\ube14\u00a0 MEMORY engine\uc740 HEAP engine\uc744 \uc758\ubbf8\ud55c\ub2e4. HEAP \ud615\uc2dd\uc758 \ud14c\uc774\ube14\uc740 \uc6d0\ub798 \ud14c\uc774\ube14\uc758 \uc778\ub371\uc2a4\ub97c \uace0\uccd0\ub9cc\ub4e0(hashed) \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba54\ubaa8\ub9ac(RAM)\uc5d0 \uc800\uc7a5\ud55c\ub2e4. \uba54\ubaa8\ub9ac\uc5d0 \uc800\uc7a5\ub418\uae30 \ub54c\ubb38\uc5d0 \uc18d\ub3c4\uac00 \ub9e4\uc6b0 \ube60\ub974\uc9c0\ub9cc, MySQL\uc774 \ucda9\ub3cc\ud558\uba74 \uba54\ubaa8\ub9ac\uc5d0&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1318"}],"collection":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1318"}],"version-history":[{"count":0,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1318\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}