�p�[�e�B�V�����E�v���[�j���O�̗L���������؂����FOracle�p�[�e�B�V���j���O���H�u���i2�j�i1/4 �y�[�W�j

�{�A�ڂł́A��K�̓f�[�^�x�[�X�ł̃p�t�H�[�}���X�E�`���[�j���O�̎�@�Ƃ��āAOracle�p�[�e�B�V���j���O���������B�P�Ȃ�@�\�����ɂƂǂ܂炸�A���@�ɂ�錟�،��ʂ������āA�����H�I�ȓ��e�����͂�����B�i�ҏW���j

» 2006�N12��27�� 00��00�� ���J
[���c�t�q�C�A�V�X�g]

���̋L���͉������ł��B����o�^�i�����j����ƑS�Ă������������܂��B

�@�O��u�p�[�e�B�V���j���O�͑�K��DB�̐��\����Ɍ����v�Ő��������悤�ɁA�p�[�e�B�V���j���O�́A��K�͂ȃf�[�^�����������Ń|�C���g�ƂȂ�@�\�ł��B���ɃA�N�Z�X����p�[�e�B�V�����������I�ɍi�荞�ރp�[�e�B�V�����E�v���[�j���O�@�\�Ƀp�t�H�[�}���X���ʂ����҂�����͑����̂ł͂Ȃ��ł��傤���B����̓p�[�e�B�V�����E�v���[�j���O�@�\�̗L�����ɂ‚��ďЉ�����Ǝv���܂��B

�p�[�e�B�V�����E�v���[�j���O���@�\�������

�@�p�[�e�B�V�����\�ɃA�N�Z�X���������ŁA�p�[�e�B�V�����E�v���[�j���O���@�\����킯�ł͂���܂���B�p�[�e�B�V���j���O�ł̓p�[�e�B�V�����E�L�[�ƌĂ΂��A�f�[�^�𕪊�����ۂɊ�ƂȂ���ݒ肵�܂����A���̃p�[�e�B�V�����E�L�[���p�[�e�B�V�����\�ɃA�N�Z�X����SQL��WHERE��̏����Ƃ��Ďw�肵�Ȃ���΁A�A�N�Z�X����p�[�e�B�V�������i�荞�ނ��Ƃ͂ł��Ȃ��̂ł��B

�@�Ⴆ�΁A���X�g1�̂悤�ɒ�`����sales_range�\�̏ꍇ�A�p�[�e�B�V�����E�v���[�j���O���@�\������ɂ́A���X�g2�̂悤�Ƀp�[�e�B�V�����E�L�[�ł���sales_date���WHERE��̏����Ɏw�肷��K�v������܂��B

CREATE TABLE sales_range
(salesman_id   NUMBER(5)   ,
 salesman_name VARCHAR2(30),
 sales_amount  NUMBER(10)  ,
 sales_date    DATE
)PARTITION BY RANGE(sales_date)
 (PARTITION p2006q1 VALUES LESS THAN(TO_DATE('2006-04-01','YYYY-MM-
DD')),
  PARTITION p2006q2 VALUES LESS THAN(TO_DATE('2006-07-01','YYYY-MM-
DD')),
  PARTITION p2006q3 VALUES LESS THAN(TO_DATE('2006-10-01','YYYY-MM-
DD')),
  PARTITION p2006q4 VALUES LESS THAN(TO_DATE('2007-01-01','YYYY-MM-
DD')));
���X�g1�@sales_date������W�E�p�[�e�B�V�����������\�i�g��\���j


set autotrace on explain

SQL> SELECT count(*) FROM sales_range
  2  WHERE sales_date BETWEEN TO_DATE('20060501','YYYYMMDD')
  3  AND TO_DATE('20060531','YYYYMMDD');

  COUNT(*)
----------
     43202
---------------------------------------------------------------------
----------------------------------
| Id  | Operation               | Name        | Rows  | Bytes | Cost 
(%CPU)| Time     | PstartPstop |
---------------------------------------------------------------------
----------------------------------
|   0 | SELECT STATEMENT        |             |     1 |     8 |   172
  (20)| 00:00:03 |       |       |
|   1 |  SORT AGGREGATE         |             |     1 |     8 |      
      |          |       |       |
|   2 |   PARTITION RANGE SINGLE|             | 43146 |   337K|   172
  (20)| 00:00:03 |     2 |     2 |
|*  3 |    TABLE ACCESS FULL    | SALES_RANGE | 43146 |   337K|   172
  (20)| 00:00:03 |     2 |     2 |
---------------------------------------------------------------------
----------------------------------
���X�g2�@�p�[�e�B�V�����E�v���[�j���O���@�\������SQL�i�g��\���j
SQL�̎��s�v��̊m�F�ɂ�SQL*Plus��AUTOTRACE�@�\�𗘗p���܂��B

�@�p�[�e�B�V�����E�v���[�j���O���s���Ă��邩�ǂ�����SQL�̎��s�v����m�F���܂��B���X�g2�̎��s�v����Q�Ƃ���ƁA�A�N�Z�X�����p�[�e�B�V�����͈̔͂������uPstart�v�uPstop�v�����ꂼ��u2�A2�v�ł��邱�Ƃ���2�Ԗڂ̃p�[�e�B�V�������A�N�Z�X���ꂽ���ƁA�܂��A�uOperation�v�ɁuPARTITION RANGE SINGLE�v���\������Ă��邱�Ƃ���A�p�[�e�B�V�����E�v���[�j���O���s��ꂽ���Ƃ�������܂��B

�@�܂����X�g3�̂悤�ɁA�p�[�e�B�V�����E�L�[�ł͂Ȃ�salesman_name��̒l�������Ƃ����ꍇ�́A�p�[�e�B�V�����E�v���[�j���O�͋@�\���܂���B

SQL> SELECT * FROM sales_range
  2  WHERE salesman_name='ASHISUTO1';

SALESMAN_ID SALESMAN_NAME                  SALES_AMOUNT SALES_DA
----------- ------------------------------ ------------ --------
          1 ASHISUTO1                               100 06-05-25

-----------------------------------------------------------------
----------------------------------
| Id  | Operation           | Name        | Rows  | Bytes | Cost 
(%CPU)| Time     | PstartPstop |
-----------------------------------------------------------------
----------------------------------
|   0 | SELECT STATEMENT    |             |   526K|    13M|   669
  (19)| 00:00:09 |       |       |
|   1 |  PARTITION RANGE ALL|             |   526K|    13M|   669
  (19)| 00:00:09 |     1 |     4 |
|*  2 |   TABLE ACCESS FULL | SALES_RANGE |   526K|    13M|   669
  (19)| 00:00:09 |     1 |     4 |
-----------------------------------------------------------------
----------------------------------
���X�g3�@�p�[�e�B�V�����E�L�[�ł͂Ȃ�salesman_name��̒l�������Ƃ����ꍇ�i�g��\���j

�@���X�g3�̎��s�v��ł́A�A�N�Z�X�����p�[�e�B�V�����͈̔͂������uPstart�v�uPstop�v���u1�A4�v�ł��邱�Ƃ���A1〜4�Ԗڂ̃p�[�e�B�V�����܂ŃA�N�Z�X�������ƁA�uOperation�v�ɁuPARTITION RANGE ALL�v���\������Ă��邱�Ƃ���Asales_range�\���\������4�‚̃p�[�e�B�V�����̂��ׂĂɃA�N�Z�X�������Ƃ�������܂��B

�@�p�[�e�B�V�����E�L�[�ł���sales_date���WHERE��̏����ɂ��Ă��A���X�g4�̂悤��SQL�̏ꍇ�A�p�[�e�B�V�����E�v���[�j���O�͋@�\���܂���B

SQL> SELECT COUNT(*) FROM sales_range
  2  WHERE TO_CHAR(sales_date,'YYYYMM')='200605';

  COUNT(*)
----------
     44641
------------------------------------------------------------------
----------------------------------
| Id  | Operation            | Name        | Rows  | Bytes | Cost 
(%CPU)| Time     | PstartPstop |
------------------------------------------------------------------
----------------------------------
|   0 | SELECT STATEMENT     |             |     1 |     8 |   877
  (38)| 00:00:11 |       |       |
|   1 |  SORT AGGREGATE      |             |     1 |     8 |      
      |          |       |       |
|   2 |   PARTITION RANGE ALL|             |  5267 | 42136 |   877
  (38)| 00:00:11 |     1 |     4 |
|*  3 |    TABLE ACCESS FULL | SALES_RANGE |  5267 | 42136 |   877
  (38)| 00:00:11 |     1 |     4 |
------------------------------------------------------------------
----------------------------------
���X�g4�@�p�[�e�B�V�����E�L�[�������ɂ��Ă��@�\���Ȃ����i�g��\���j

�@���X�g4��2006�N5���̏��ɃA�N�Z�X����Ƃ����Ӗ��ł̓��X�g2��SQL�Ɠ����ł����A�p�[�e�B�V�����E�L�[�ł���sales_date���WHERE��̏����Ɏw�肳��Ă��܂��B2�‚�SQL�Ƃ̈Ⴂ�́A�p�[�e�B�V�����E�L�[�ł���sales_date�񂪏C������Ă��邩�ǂ����ł��B���X�g4��SQL�ł�TO_CHAR�֐���sales_date��Ɏg�p����Ă��܂��B

�@���̂悤�ɁA�p�[�e�B�V�����E�L�[�ɑ΂��Ċ֐���Z�p�����{������A�Öق̌^�ϊ����s��ꂽ�肷��ꍇ�A�p�[�e�B�V�����E�v���[�j���O�͋@�\���Ȃ��Ƃ������Ƃł��B�����𗘗p�����A�N�Z�X�Ɠ��l�ɁA�p�[�e�B�V�����E�v���[�j���O���@�\������ꍇ�ɂ́ASQL�̋L�q���[�������K�v������܂��B

�@�@�@�@�@�@ 1|2|3|4 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

�A�C�e�B���f�B�A����̂��m�点

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

���́uAI�R�[�f�B���O�v�͖{���ɕK�v���H
Microsoft �� Windows�őO��2026
4AI by ��IT - AI�����A�������A���A������
���[�R�[�h�^�m�[�R�[�h �Z���g���� by ��IT - IT�G���W�j�A���r�W�l�X�̒��S�Ŋ��􂷂�g�D��
Cloud Native Central by ��IT - �X�P�[���u���Ȕ\�͂�g�D��
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B