�C���f�b�N�X�̊�b�m�� |
�� �C���f�b�N�X�Ƃ�
�f�[�^�x�[�X�̐��E�ŁA�C���f�b�N�X(����)�Ƃ̓e�[�u���Ɋi�[����Ă���f�[�^��
�����Ɏ��o���ׂ̎d�g�݂��Ӗ����܂��B
�C���f�b�N�X��K�Ɏg�p���邱�Ƃɂ����SQL���̉������Ԃ����I�ɉ��P
�����\��������܂��B
�C���f�b�N�X�ɂ�B-Tree�C���f�b�N�X���͂��߁A�r�b�g�}�b�v�C���f�b�N�X�A
���C���f�b�N�X�Ȃǂ̎�ނ�����܂����A�����ł͍ł���ʓI�Ɏg���A����
�قƂ�ǂ�DBMS�ŃT�|�[�g����Ă���B-Tree�C���f�b�N�X�ɂ��ĉ�����܂��B
�� CREATE INDEX���ŃI�v�V�������w�肵�Ȃ��ꍇ�͒ʏ�B-Tree�C���f�b�N�X��
�쐬����܂��B
�� B-Tree�C���f�b�N�X�̂�����
B-Tree(Balanced Tree)�C���f�b�N�X�͎��̂悤�ȃc���[��̍\���ɂȂ��Ă��܂��B
�c���[�̐擪�̓w�b�_�u���b�N�ƌĂ�Ă��܂��B�w�b�_�u���b�N�ł́A�L�[�l��
�͈͂Ɖ��w�̃u���b�N�ւ̃|�C���^���Ǘ����Ă��āA�L�[�̒l���w�肳�ꂽ�ꍇ�ɁA
���ɂǂ̃u���b�N��ǂ߂�������������悤�ɂȂ��Ă��܂��B
�u�����`�u���b�N�̓L�[�l���X�ɍׂ����������ĊǗ����Ă��܂��B�L�[�l������
�ꍇ�̓u�����`�u���b�N�������A�Ȃ�܂��B
���[�t�u���b�N�͍ʼn��w�̃u���b�N�ŃL�[�l�ƃe�[�u���̍s�̕����I�Ȉʒu��
�Ǘ����Ă��܂��B���A���[�t�u���b�N�ɂ͑O��̃��[�t�u���b�N�ւ̃|�C���^��
�܂܂�Ă���A<�A>�ABETWEEN�Ȃǂ͈̔͌������X���[�Y�ɍs���܂��B
�}�̃C���f�b�N�X���g���āuTSUMIKI�v����������ꍇ�A���̂悤�Ȍo�H�Ŏ��ۂ̍s�ւ�
�A�N�Z�X���s���܂��B
�� B-Tree�C���f�b�N�X�̓���
B-Tree�C���f�b�N�X�͂��̍\�����玟�̂悤�ȓ����������Ă��܂��B
�E�ǂ̂悤�ȃL�[�l�ł��A����̑��x�����҂ł���B
�@(����͑S�Ẵ��[�t�u���b�N�������[���ɂȂ��Ă��邽�߂ł��B)
�E��ʂ̃f�[�^�ł��ǂ��p�t�H�[�}���X�����҂ł���B
�@(����͑�ʂ̃f�[�^���i�[�����ꍇ�ł��A�C���f�b�N�X�̐[����4�u���b�N�ȓ���
�@���܂邱�Ƃ��������߂ł��B���A�w�b�_��u�����`�����̓�������Ƀ��[�h�����
�@���邱�Ƃ������A���ۂɂ�1,2�u���b�N�̓ǂݍ��݂ōςނ��Ƃ��琄������܂��B)
�E��v����(=�ɂ�錟��)�����łȂ��A�͈͌���(<,>,BETWEEN�ɂ�錟��)���s�����Ƃ�
�@�ł���B(����̓��[�t�u���b�N�ɑO��̃��[�t�u���b�N�ւ̃|�C���^��
�@�܂܂�Ă���A�O��̃f�[�^��A�����ď������邱�Ƃ��o���邽�߂ł��B)
�E�\�[�g�����������ɍs�����Ƃ��o����B
�@(����̓C���f�b�N�X���̊e�f�[�^�����Ƀ\�[�g����Ċi�[����Ă��邽�߂ł��B)
�� B-Tree�C���f�b�N�X�g�p���̃I�[�o�[�w�b�h
B-Tree�C���f�b�N�X�͏_��Ō����I�Ȍ������T�|�[�g���Ă���܂��B
���������̈���ŁA�f�[�^���X�V����Ƃ��ɂ́A���̍\�����ێ����邽�߂�
�I�[�o�[�w�b�h���������܂��B
�C���f�b�N�X�������ݒ肳��Ă���ƁA�X�V�����ɕK�v�Ȏ��Ԃ����{�ɂȂ邱�Ƃ�
����܂��B
�C���f�b�N�X���쐬����ꍇ�ɂ́A�X�V�n�����ƌ����n�����̃o�����X���l���Ȃ���
��Ƃ��邱�Ƃ��K�v�ɂȂ�܂��B
�Ȃ��A��r�I�傫�ȕ\�ł͍X�V�n�������������n�����̕������ׂ��������߁A
��ʓI�ɂ̓C���f�b�N�X���쐬���������A�g�[�^���p�t�H�[�}���X�͌��シ��
�\���������悤�ł��B
�܂��A���R�Ȃ���C���f�b�N�X���쐬����ɂ́A���̂��߂̃f�B�X�N�e�ʂ��K�v��
�Ȃ�܂��B�X�̃C���f�b�N�X�̗e�ʂ͕\�ɔ�ׂ�Ώ��������̂ł����A�ЂƂ�
�\�ɕ����̃C���f�b�N�X���쐬�����ꍇ�ɂ́A�\�ƃC���f�b�N�X�����v�����e�ʂ�
���̕\��2�{�ȏ�ɂȂ邱�Ƃ�����܂��B
�� B-Tree�C���f�b�N�X���L���ɓ��삷��f�[�^�擾��
B-Tree�C���f�b�N�X���L���ɓ��삷��̂́A�擾����f�[�^�̗ʂ��\�S�̂�
5%�`15%�ȉ��̏ꍇ�ł��B��T�ɂ͌����܂��A����ȏ�̃f�[�^���擾����
�ꍇ��A��������\�̗e�ʂ��������ꍇ�́A�C���f�b�N�X���g�p���Ȃ��őS�\����
(�\�̂��ׂĂ̍s��ǂݍ����WHERE������)�������������ɂȂ�܂��B
�� B-Tree�C���f�b�N�X�̑I��
�d�����Ă���L�[�l�����Ȃ���ΑI�𐫂������A�C���f�b�N�X�͗L���ɓ����܂��B
���Ƃ��Βa������\����͑I�𐫂��D��Ă��܂����A���ʂ�\����͑I�𐫂�
�����ł��傤�B
�I�𐫂̗D��Ă���C���f�b�N�X�͓���̃L�[�l�őΏۂƂȂ�f�[�^��
�i�荞�߂�̂Ō����I�ɋ@�\���܂��B
���j�[�N�C���f�b�N�X��v���C�}���L�[(NULL�������Ȃ����j�[�N�C���f�b�N�X)��
�ł��I�𐫂̍����C���f�b�N�X�ł��B���Ƃ��c��ȗʂ̃f�[�^�����݂���\�ł��A
�v���C�}���L�[���g�p������ӌ����ł����1�b�ȉ��̉��������҂ł��܂��B
�Ȃ��AOracle�Ȃǂ�DBMS�ł͑I�𐫂̈�����ɑ��Č��ʂ�����r�b�g�}�b�v
�C���f�b�N�X�Ƃ����C���f�b�N�X���T�|�[�g����Ă��܂��B
�� �����C���f�b�N�X
�����C���f�b�N�X�Ƃ́A�����̗�ō\�������C���f�b�N�X�̂��Ƃł��B
WHERE��ł悭�����̗w�肳���ꍇ�́A�����̗�ɑ��ăC���f�b�N�X��
�쐬����Ƃ����ʓI�Ȍ������\�ɂȂ�܂��B
���Ƃ��A
SELECT
�@�@first_name,second_name
FROM
�@�@tsumiki_mst
WHERE
�@�@first_name='�l' AND
�@�@second_name='�l'
�̂悤��SQL�������s����ꍇ�́A
���̂悤�ȃC���f�b�N�X���쐬����ƌ����������ɂȂ�܂��B
CREATE INDEX tsumiki_mst_name_idx
�@�@ON tsumiki_mst(first_name,second_name)
���̃C���f�b�N�X��first_name��P�ƂŎw�肵���Ƃ��ɂ��@�\����̂ŁA
first_name�̃C���f�b�N�X�̑���Ɏg�����Ƃ��ł��܂��B
�������Asecond_name��P�ƂŎw�肵���ꍇ�ɂ͋@�\���܂���B
����́A�����C���f�b�N�X�͍ŏ��̗�A�����ėw�肳��Ă���ꍇ�ɂ̂�
�@�\����Ƃ������������邩��ł��B
���Ƃ��AA,B,C�̏����ŃC���f�b�N�X���w�肳��Ă���ꍇ�A�L��/�����͎���
�悤�ɂȂ�܂��B
�����w��� | �L��/���� |
A | �� |
B | �~ |
C | �~ |
AB | �� |
AC | �~ |
BC | �~ |