¢ÃCluster °³³ä
-Ŭ·¯½ºÅÍ´Â µ¿ÀÏÇÑ µ¥ÀÌÅÍ ºí·Ï¿¡ °øµ¿ÀÇ ¿(Ŭ·¯½ºÅÍ Å°)À» °øÀ¯ÇÏ´Â ÇÑ °³ ÀÌ»óÀÇ Å×À̺íÀ» ÇÔ²² °ü¸®ÇÏ´Â ÀúÀå ¹æ¹ýÀÌ´Ù.
¢Ñ°ü·ÃµÈ Å×À̺íµéÀ» ÇÑ °³ÀÇ ¼¼±×¸ÕÆ®·Î °ü¸®
-Ŭ·¯½ºÅÍ¿¡ Æ÷ÇÔµÈ Å×À̺íÀº º°µµÀÇ ¼¼±×¸ÕÆ® ¿µ¿ªÀ» ÇÒ´ç¹ÞÁö ¾Ê´Â´Ù.
-Ŭ·¯½ºÅͳ»ÀÇ Å×À̺íÀº ¸¶Ä¡ µ¶¸³ÀûÀÎ Å×À̺íÀÎ °Íó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
-Ŭ·¯½ºÅÍ Å°¿¡ ¿¬°üµÈ °¢ Å×À̺íÀÇ ÇàµéÀº °°Àº µ¥ÀÌÅÍ ºí·Ï¿¡
ÀúÀåµÈ´Ù.
¢Ã Cluster »ç¿ë½Ã ÀåÁ¡
-µð½ºÅ©ÀÇ I/O°¡ °¨¼Ò
-Á¶Àνà ¾×¼¼½º ½Ã°£ ´ÜÃà
¢Ã Cluster Àû¿ë ´ë»ó
-ÁÖ·Î °Ë»öÀÌ ÀϾ°í ¼öÁ¤ÀÌ Àû°Ô ¹ß»ýÇÏ´Â Å×À̺í
-ÇÑ ¿¿¡ Áߺ¹µÈ °ªÀÌ ¸¹ÀÌ ¿À´Â Å×À̺í
-ÀÚÁÖ Á¶ÀÎÀÌ ÀϾ´Â Å×À̺í
¢Ã Cluster Ű
-Ŭ·¯½ºÅÍ Å°: Ŭ·¯½ºÅÍ µÈ Å×À̺íµéÀÌ °øÅëÀ¸·Î °®´Â ¿ ¶Ç´Â ¿ÀÇ ±×·ì
-Ŭ·¯½ºÅÍ Å°·Î ÀûÇÕÇÑ ¿
.³ÐÀº ¹üÀ§ÀÇ °ªÀ» °®°í ÀÖ´Â ¿
.º¹¼ö °³ÀÇ Å×À̺í Á¶Àνà »ç¿ëµÇ´Â ¿
-Ŭ·¯½ºÅÍ Å°·Î ÀûÇÕÇÏÁö ¾ÊÀº ¿
.±¸ºÐ °ª(distinct values)ÀÌ ÀûÀº ¿ => Chained block ¹ß»ý
.ºó¹øÇÏ°Ô °»½ÅÀÌ ÀϾ´Â ¿=> ÇàÀÇ Block À̵¿ ¹ß»ý
¢Ã Cluster »ý¼º
-»ý¼º °úÁ¤
.Cluster »ý¼º
.Cluster Index »ý¼º
.Cluster¿¡ °ü·ÃµÈ Table »ý¼º
-»ý¼º ½Ç½À
SQL> CREATE CLUSTER cl_t1_t2(dno number(2));
SQL> CREATE INDEX idx_cl_t1_t2
ON cluster cl_t1_t2;
SQL> CREATE TABLE t1(eno number(4), enm varchar2(20), dno number(2))
CLUSTER cl_t1_t2(dno);
SQL> CREATE TABLE t2(dno number(2), dnm varchar2(12), loc varchar2(13))
CLUSTER cl_t1_t2(dno);
SQL> INSERT INTO t1 SELECT empno, ename, deptno FROM emp;
SQL> INSERT INTO t2 SELECT deptno, dname, loc FROM dept;
SQL> SELECT * FROM t1;
SQL> SELECT * FROM t2;
SQL> SELECT eno, enm, t1.dno, dnm FROM t1, t2
WHERE t1.dno=t2.dno;
SQL> SELECT * FROM tab;
SQL> SELECT segment_name FROM user_segments;
¢Ã Cluster »èÁ¦
-¸ðµç Å×ÀÌºíµµ ÇÔ²² »èÁ¦µÈ´Ù.
-Ŭ·¯½ºÅÍ À妽ºµµ »èÁ¦µÈ´Ù.
-¸ðµç È®À念¿ªÀº ¹Ý³³µÈ´Ù.
SQL> DROP CLUSTER cl_t1_t2
INCLUDING TABLES
CASCADE CONSTRAINTS;
¢Ã Hash Cluster
¢º Hashing
-µ¥ÀÌÅÍ °Ë»ö ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇØ Å×ÀÌºí µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¼±ÅÃÀûÀÎ ¹æ¹ý
-Å×ÀÌºí ¿µé¿¡ ´ëÇØ ÇØ½¬ÇÔ¼ö¸¦ Àû¿ëÇÏ¿© °è»êµÈ °á°ú¿¡ µû¶ó ÇàµéÀÇ ÀúÀå À§Ä¡°¡ °áÁ¤µÈ´Ù.
-µ¥ÀÌÅ͸¦ °Ë»öÇϱâ À§ÇØ ÇÊ¿äÇÑ I/O Ƚ¼ö¸¦ ÁÙ¿©ÁØ´Ù.
-HashingÀ» Àû¿ëÇÏ´Â °æ¿ì
.Å×À̺íÀÇ Å©±â°¡ º¯ÇÏÁö ¾Ê´Â °æ¿ì
.ÁúÀÇ ¼º´É ÃÖÀûȰ¡ ÁÖ¿ä °ü½É»çÀÎ °æ¿ì
.ÁúÀǰ¡ ÇØ½¬ Ä÷³¿¡ ´ëÇØ µ¿µîÁúÀÇ(¿¹: WHERE empno='7898')ÀÎ °æ¿ì
.ÇØ½¬Å°°¡ Àß ºÐÆ÷µÇ¾î ÀÖ´Â °æ¿ì
¢º Hash Cluster »ý¼º
SQL> CREATE CLUSTER h_std (stid number(7))
HASHKEYS 100SIZE 80
HASH IS stid;
-HASHKEYS: hash Ű °ªÀÇ °¹¼ö
-SIZE: µ¿ÀÏ hash Ű °ªÀ» °®´Â ÇàµéÀ» ÀúÀåÇϱâ À§ÇØ ÇÒ´çÇÏ´Â °ø°£ Å©±â
-HASH IS: Hash °ªÀ» ¸¸µé¾î³»´Â ¿·Î¼ Á¤¼öÇü Ä÷³¸¸ °¡´ÉÇÏ´Ù.
SQL> CREATE TABLE std
(stid number(7), stdnm char(12), idnum char(7), clscd char(2))
CLUSTER h_std(stid);
SQL> INSERT INTO std SELECT * FROM students;
SQL> SET TIMING ON
SQL> SELECT * FROM students
WHERE stid=8111001;
SQL> SELECT * FROM std
WHERE stid=8111001;