|
¿î¿µ ½Ã½ºÅÛÀÇ ¹öÆÛÅ©±â°¡ 128KBÀÌ°í µ¥ÀÌÅͺ£À̽º ºí·Ï Å©±â°¡ 4KB¶ó¸é DB_FILE_MULTIBLOCK_READ_COUNT À» 128KB/4KB =32 ·Î ¼³Á¤ÇÑ´Ù. ´õ ÀÛÀº °ªÀ¸·Î ¼³Á¤Çß´Ù¸é, Àüü Å×ÀÌºí½ºÄµÀÇ
½ÇÇà ´É·ÂÀÌ ÀúÇϵȴÙ.
´ÙÀ½ÀÇ ÀýÂ÷¹ýÀ» »ç¿ëÇصµ µÈ´Ù.
1. ´ÜÀÏ µ¥ÀÌÅÍÆÄÀÏ·Î »õ Å×ÀÌºí½ºÆäÀ̽º¸¦ »ý¼ºÇ϶ó
2. ÀÌ Å×ÀÌºí½ºÆäÀ̽º¿¡ À妽º°¡ ¾ø´Â Å×À̺íÀ» »ý¼ºÇ϶ó
3. Å×½ºÆ®¿¡ ´ëÇÑ ½ÃÀÛ Åë°è¸¦ È®ÀÎÇϱâ À§Çؼ V$FILESTATÀ» ÁúÀÇÇ϶ó
4. Å×ÀÌºí¿¡ Àüü Å×ÀÌ¹É ½ºÄµÀ» ½ÇÇàÇ϶ó
5. V$FILESTATÀ» ÁúÀÇÇÏ°í PhyBlkRds °ªÀ» PhyRds·Î ³ª´«´Ù
6.Å×ÀÌºí½ºÆäÀ̽º¸¦ »èÁ¦ÇÑ´Ù.
´ÙÀ½Àº ÀÌ·¯ÇÑ ÀýÂ÷¸¦ ¼³¸íÇÏ°í ÀÖ´Ù.
create tablespace tester
datafile '/opt/oracle/sample/tester.dbf' size 10M reuse
default storage (initial 1M pctincrease 0);
create table TESTING
tablespace tester
as select * from perftest.emp
where rownum < 50000;
select relative_fno from dba_data_files
where tablespace_name ='TESTER';
select phyrds, phyblkrd from v$filestat where file#=9;
select count(*) from testing;
select phyrds, phyblkrd from v$filestat where file#=9;
PHYRDS PHYBLKRD
---------- ----------
45891 166393
DB_FILE_MULTIBLOCK_READ_COUNT ÆĶó¹ÌÅ͸¦ °è»êÇÑ °ªº¸´Ù ³ôÀº °ªÀ¸·Î ¼³Á¤ÇÏÁö ¸»¾Æ¾ßÇÑ´Ù.
db_file_multiblock_read_count ÆĶó¹ÌÅÍ´Â ÇѹøÀÇ I/O ÀÛ¾÷À¸·Î ÀоîµéÀÌ´Â ÃÖ´ë ºí·° ¼ö¸¦ °¡¸®Å°¸ç Multi Block I/O ¿¡ °ü·ÃµÈ ÆĶó¹ÌÅÍÀÌ´Ù. µðÆúÆ® °ªÀºO/S¿¡ µû¶ó¼ ´Ù¸¥µ¥ º¸Åë db_block_buffers¿Í Processes¿¡ ÀÇÇؼ°áÁ¤µÇ¸ç 4~32 Á¤µµ°¡ ¸¹ÀÌ »ç¿ëµÈ´Ù.
ÀÌ °ªÀ» Å°¿ì°í SORT/MERGE ¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ Nested Loop¸¦ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ÆÛÆ÷¸Õ½º°¡ Áõ°¡Çϴ°¡ ÇÏ´Â ¹®Á¦´Â QueryÀÇ Á¾·ù¿Í ÀоîµéÀÌ´Â µ¥ÀÌŸÀǾç (Àüü¿¡ ´ëÇÑ Percentage)¿¡ µû¶ó¼ ´Þ¶óÁö°Ô µÈ´Ù.
Áï, ÀÌ °ªÀÌ Å©¸é ÇѹøÀÇ I/O·Î ¿©·¯°³ÀÇ ºí·°À» Àоî¿À¹Ç·Î Full Table Scan½Ã¿¡´Â ÆÛÆ÷¸Õ½º°¡ Áõ°¡ÇÑ´Ù. ÇÏÁö¸¸ ƯÁ¤ ºí·°¸¸ÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡ ºÒÇÊ¿äÇÑºí·°±îÁö ÇÔ²² ÀоîµéÀ̹ǷΠµð½ºÅ©¸¦ Àд ½Ã°£ÀÌ Áõ°¡ÇÒ »Ó ¾Æ´Ï¶ó Å©±â°¡ ÇÑÁ¤µÈ Buffer PoolÀ» ¸¹ÀÌ Â÷ÁöÇØ ¹ö¸²À¸·Î½á ÀÚÁÖ ¾²ÀÌ´Â µ¥ÀÌŸ¸¦ ¹Ð¾î³»¾î ¿ÀÈ÷·Á CacheÀÇ È¿À²À» ¶³¾î¶ß¸®´Â °á°ú¸¦ °¡Á®¿Ã ¼öµµ ÀÖÀ¸¹Ç·Î ÀÛ¾÷Ư¼º¿¡ µû¶ó¼ ÀûÀýÇÑ °ªÀ» ¼¼ÆÃÇÏ¿©¾ß ÇÑ´Ù.
¿À¶óŬÀÇ Optimizer´Â ÀÌ °ªÀÌ Å©¸é ÀÛ¾÷ÀÇ È¿À²¼ºÀ» À§Çؼ Full Table ScanÀ» ¼±ÅÃÇÒ °¡´É¼ºÀÌ Ä¿Áö°Ô µÈ´Ù.
|