เชนเชพเช‡เชฒเซ‹เชก++ เชธเชพเช‡เชฌเชฟเชฐเซ€เชฏเชพ 2019เชจเชพ เชชเช—เชฒเซ‡ เชชเช—เชฒเซ‡ - เช“เชฐเซ‡เช•เชฒ เชชเชฐ 8 เช•เชพเชฐเซเชฏเซ‹

เชนเซ‡เชฒเซ‹!

24-25 เชœเซ‚เชจเชจเชพ เชฐเซ‹เชœ, เชจเซ‹เชตเซ‹เชธเชฟเชฌเชฟเชฐเซเชธเซเช•เชฎเชพเช‚ เชนเชพเชˆเชฒเซ‹เชก++ เชธเชพเช‡เชฌเชฟเชฐเซ€เชฏเชพ 2019 เช•เซ‹เชจเซเชซเชฐเชจเซเชธ เชฏเซ‹เชœเชพเชˆ เชนเชคเซ€. เช…เชฎเชพเชฐเชพ เชฒเซ‹เช•เซ‹ เชชเชฃ เชคเซเชฏเชพเช‚ เชนเชคเชพ เช…เชนเซ‡เชตเชพเชฒ "เช“เชฐเซ‡เช•เชฒ เช•เชจเซเชŸเซ‡เชจเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ (CDB/PDB) เช…เชจเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชคเซ‡เชฎเชจเซ‹ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เช‰เชชเชฏเซ‹เช—", เช…เชฎเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€ เชŸเซ‡เช•เซเชธเซเชŸ เชตเชฐเซเชเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ€เชถเซเช‚. เชคเซ‡ เชธเชฐเชธ เชนเชคเซเช‚, เช†เชญเชพเชฐ เช“เชฒเซ‡เช—เชฌเซเชฏเซเชจเชฟเชจ เชธเช‚เชธเซเชฅเชพ เชฎเชพเชŸเซ‡, เชคเซ‡เชฎเชœ เช†เชตเชจเชพเชฐ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡.

เชนเชพเช‡เชฒเซ‹เชก++ เชธเชพเช‡เชฌเชฟเชฐเซ€เชฏเชพ 2019เชจเชพ เชชเช—เชฒเซ‡ เชชเช—เชฒเซ‡ - เช“เชฐเซ‡เช•เชฒ เชชเชฐ 8 เช•เชพเชฐเซเชฏเซ‹
เช† เชชเซ‹เชธเซเชŸเชฎเชพเช‚, เช…เชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เช…เชฎเชพเชฐเชพ เชฌเซ‚เชฅ เชชเชฐ เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชนเชคเซ€ เชคเซ‡ เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เช“เชฐเซ‡เช•เชฒ เชœเซเชžเชพเชจเชจเซ‡ เชšเช•เชพเชธเซ€ เชถเช•เซ‹. เช•เชŸเชจเซ€ เชจเซ€เชšเซ‡ 8 เชธเชฎเชธเซเชฏเชพเช“, เชœเชตเชพเชฌเชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช…เชจเซ‡ เชธเชฎเชœเซ‚เชคเซ€ เช›เซ‡.

เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เช†เชชเชฃเซ‡ เชฎเชนเชคเซเชคเชฎ เช•เซเชฐเชฎ เชฎเซ‚เชฒเซเชฏ เชถเซเช‚ เชœเซ‹เชˆเชถเซเช‚?

create sequence s start with 1;
 
select s.currval, s.nextval, s.currval, s.nextval, s.currval
from dual
connect by level <= 5;

  • 1
  • 5
  • 10
  • 25
  • เชจเชพ, เชเช• เชญเซ‚เชฒ เชนเชถเซ‡

เชœเชตเชพเชฌ เช†เชชเซ‹เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (8.1.6 เชฅเซ€ เช…เชตเชคเชฐเชฃ):
เชเช• เชœ เชเชธเช•เซเชฏเซเชเชฒ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸเชฎเชพเช‚, เช“เชฐเซ‡เช•เชฒ เชชเช‚เช•เซเชคเชฟ เชฆเซ€เช  เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชพเชฐ เช•เซเชฐเชฎเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเชถเซ‡. เชœเซ‹ เชจเชฟเชตเซ‡เชฆเชจเชฎเชพเช‚ เช•เซเชฐเชฎ เชฎเชพเชŸเซ‡ NEXTVAL เชจเชพ เชเช• เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเช‚เชฆเชฐเซเชญเซ‹ เชนเซ‹เชฏ, เชคเซ‹ Oracle เช•เซเชฐเชฎเชฎเชพเช‚ เชเช•เชตเชพเชฐ เชตเชงเชพเชฐเซ‹ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ NEXTVAL เชจเซ€ เชคเชฎเชพเชฎ เช˜เชŸเชจเชพเช“ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชฎเซ‚เชฒเซเชฏ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เชจเชฟเชตเซ‡เชฆเชจเชฎเชพเช‚ CURRVAL เช…เชจเซ‡ NEXTVAL เชฌเช‚เชจเซ‡เชจเชพ เชธเช‚เชฆเชฐเซเชญเซ‹ เชนเซ‹เชฏ, เชคเซ‹ Oracle เช•เซเชฐเชฎเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชจเชฟเชตเซ‡เชฆเชจเชฎเชพเช‚ เชคเซ‡เชฎเชจเชพ เช“เชฐเซเชกเชฐเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชตเชฟเชจเชพ CURRVAL เช…เชจเซ‡ NEXTVAL เชฌเช‚เชจเซ‡ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชฎเซ‚เชฒเซเชฏ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.

เช†เชฎ, เชฎเชนเชคเซเชคเชฎ เชฎเซ‚เชฒเซเชฏ เชฐเซ‡เช–เชพเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชนเชถเซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ 5.

เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ€ เชชเช‚เช•เซเชคเชฟเช“ เชนเชถเซ‡?

create table t(i integer check (i < 5));
 
create procedure p(p_from integer, p_to integer) as
begin
    for i in p_from .. p_to loop
        insert into t values (i);
    end loop;
end;
/
 
exec p(1, 3);
exec p(4, 6);
exec p(7, 9);

  • 0
  • 3
  • 4
  • 5
  • 6
  • 9

เชœเชตเชพเชฌ เช†เชชเซ‹เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (11.2 เชฅเซ€ เช…เชตเชคเชฐเชฃ):

เช•เซ‹เชˆเชชเชฃ SQL เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, Oracle เชเช• เช—เชฐเซเชญเชฟเชค เชธเซ‡เชตเชชเซ‹เชˆเชจเซเชŸเชจเซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเซ‡ เช›เซ‡ (เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชจเชฅเซ€). เชชเช›เซ€, เชœเซ‹ เชจเชฟเชตเซ‡เชฆเชจ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ, เชคเซ‹ เช“เชฐเซ‡เช•เชฒ เชคเซ‡เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชชเชพเช›เซเช‚ เชซเซ‡เชฐเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ SQLCA เชฎเชพเช‚ SQLCODE เชชเชฐ เชฒเชพเช—เซ เชญเซ‚เชฒ เช•เซ‹เชก เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ INSERT เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เช…เชจเชจเซเชฏ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเชฎเชพเช‚ เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชฎเซ‚เชฒเซเชฏ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชจเซ‡ เชญเซ‚เชฒเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ‡ เช›เซ‡, เชคเซ‹ เชจเชฟเชตเซ‡เชฆเชจ เชชเชพเช›เซเช‚ เชซเซ‡เชฐเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช•เซเชฒเชพเชฏเชจเซเชŸ เชคเชฐเชซเชฅเซ€ HP เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเซเช‚ เชชเชฃ เชเช• เชจเชฟเชตเซ‡เชฆเชจ เชคเชฐเซ€เช•เซ‡ เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชฎ, เชชเซเชฐเชฅเชฎ HP เช•เซ‰เชฒ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชชเซ‚เชฐเซเชฃ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชคเซเชฐเชฃ เชฐเซ‡เช•เซ‹เชฐเซเชก เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡; เชฌเซ€เชœเซ‹ HP เช•เซ‰เชฒ เชญเซ‚เชฒ เชธเชพเชฅเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชšเซ‹เชฅเซ‹ เชฐเซ‡เช•เซ‹เชฐเซเชก เชชเชพเช›เซ‹ เช–เซ‡เช‚เชšเซ‡ เช›เซ‡ เชœเซ‡ เชคเซ‡ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชนเชคเซ‹; เชคเซเชฐเซ€เชœเซ‹ เช•เซ‰เชฒ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชคเซเชฐเชฃ เชฐเซ‡เช•เซ‹เชฐเซเชก เช›เซ‡.

เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ€ เชชเช‚เช•เซเชคเชฟเช“ เชนเชถเซ‡?

create table t(i integer, constraint i_ch check (i < 3));
 
begin
    insert into t values (1);
    insert into t values (null);
    insert into t values (2);
    insert into t values (null);
    insert into t values (3);
    insert into t values (null);
    insert into t values (4);
    insert into t values (null);
    insert into t values (5);
exception
    when others then
        dbms_output.put_line('Oops!');
end;
/

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

เชœเชตเชพเชฌ เช†เชชเซ‹เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (11.2 เชฅเซ€ เช…เชตเชคเชฐเชฃ):

เชšเซ‡เช•เชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพ เชคเชฎเชจเซ‡ เชเช• เชเชตเซ€ เชถเชฐเชคเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡ เช•เซ‹เชทเซเชŸเช•เชจเซ€ เชฆเชฐเซ‡เช• เชชเช‚เช•เซเชคเชฟเช เชธเช‚เชคเซ‹เชทเชตเซ€ เชœเซ‹เชˆเช. เชฎเชฐเซเชฏเชพเชฆเชพเชจเซ‡ เชธเช‚เชคเซ‹เชทเชตเชพ เชฎเชพเชŸเซ‡, เช•เซ‹เชทเซเชŸเช•เชจเซ€ เชฆเชฐเซ‡เช• เชชเช‚เช•เซเชคเชฟเช เชถเชฐเชคเชจเซ‡ เชธเชพเชšเซ€ เช…เชฅเชตเชพ เช…เชœเซเชžเชพเชค เชฌเชจเชพเชตเชตเซ€ เชœเซ‹เชˆเช (เชจเชฒเชจเซ‡ เช•เชพเชฐเชฃเซ‡). เชœเซเชฏเชพเชฐเซ‡ เช“เชฐเซ‡เช•เชฒ เชšเซ‹เช•เซเช•เชธ เชชเช‚เช•เซเชคเชฟ เชฎเชพเชŸเซ‡ เชšเซ‡เช• เช•เชจเซเชธเซเชŸเซเชฐเซ‡เช‚เชŸ เชถเชฐเชคเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชถเชฐเชคเชฎเชพเช‚เชจเชพ เช•เซ‹เชˆเชชเชฃ เช•เซ‰เชฒเชฎ เชจเชพเชฎเซ‹ เชคเซ‡ เชชเช‚เช•เซเชคเชฟเชฎเชพเช‚ เช•เซ‰เชฒเชฎ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡.

เช†เชฎ, เชฎเซ‚เชฒเซเชฏ เชจเชฒ เชšเซ‡เช• เชชเชพเชธ เช•เชฐเชถเซ‡, เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ 3 เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช…เชจเชพเชฎเซ€ เชฌเซเชฒเซ‹เช• เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช† เชชเช›เซ€, เชญเซ‚เชฒ เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช— เชฌเซเชฒเซ‹เช• เช…เชชเชตเชพเชฆเชจเซ‡ เชธเชพเชซ เช•เชฐเชถเซ‡, เช•เซ‹เชˆ เชฐเซ‹เชฒเชฌเซ‡เช• เชฅเชถเซ‡ เชจเชนเซ€เช‚, เช…เชจเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชšเชพเชฐ เชชเช‚เช•เซเชคเชฟเช“ เชฌเชพเช•เซ€ เชฐเชนเซ‡เชถเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ 1, เชจเชฒ, 2 เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชจเชฒ เชธเชพเชฅเซ‡.

เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เช•เชˆ เชœเซ‹เชกเซ€ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชธเชฎเชพเชจ เชœเช—เซเชฏเชพ เชฒเซ‡เชถเซ‡?

create table t (
    a char(1 char),
    b char(10 char),
    c char(100 char),
    i number(4),
    j number(14),
    k number(24),
    x varchar2(1 char),
    y varchar2(10 char),
    z varchar2(100 char));
 
insert into t (a, b, i, j, x, y)
    values ('Y', 'ะ’ะฐัั', 10, 10, 'ะ”', 'ะ’ะฐัั');

  • A เช…เชจเซ‡ X
  • เชฌเซ€ เช…เชจเซ‡ เชตเชพเชฏ
  • เชธเซ€ เช…เชจเซ‡ เช•เซ‡
  • เชธเซ€ เช…เชจเซ‡ เชเซ‡เชก
  • เช•เซ‡ เช…เชจเซ‡ เชเซ‡เชก
  • เชนเซเช‚ เช…เชจเซ‡ เชœเซ‡
  • เชœเซ‡ เช…เชจเซ‡ เชเช•เซเชธ
  • เชฌเชงเชพ เชธเซ‚เชšเชฟเชฌเชฆเซเชง

เชœเชตเชพเชฌ เช†เชชเซ‹เช…เชนเซ€เช‚ เช“เชฐเซ‡เช•เชฒเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเชพ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เช…เช‚เช—เซ‡เชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ (12.1.0.2) เชจเชพ เช…เช‚เชถเซ‹ เช›เซ‡.

CHAR เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ
CHAR เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‡เชฐเซ‡เช•เซเชŸเชฐ เชธเซ‡เชŸเชฎเชพเช‚ เชจเชฟเชถเซเชšเชฟเชค-เชฒเช‚เชฌเชพเชˆเชจเชพ เช…เช•เซเชทเชฐ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเชจเชพเชตเซ‹ เช›เซ‹ เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เช•เซเชทเชฐ เชธเชฎเซ‚เชนเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹. เช“เชฐเซ‡เช•เชฒ เช เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ CHAR เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชคเชฎเชพเชฎ เชฎเซ‚เชฒเซเชฏเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชฒเช‚เชฌเชพเชˆเชจเชพ เชธเชฟเชฎเซ‡เชจเซเชŸเชฟเช•เซเชธเชฎเชพเช‚ เช•เชฆ เชฆเซเชตเชพเชฐเชพ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชฒเช‚เชฌเชพเชˆ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช•เซ‰เชฒเชฎเชจเซ€ เชฒเช‚เชฌเชพเชˆ เช•เชฐเชคเชพเช‚ เชจเชพเชจเซ€ เช•เชฟเช‚เชฎเชค เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ Oracle เชฌเซเชฒเซ…เชจเซเช•-เชชเซ…เชก เช•เซ‰เชฒเชฎเชจเซ€ เชฒเช‚เชฌเชพเช‡เชฎเชพเช‚ เชฎเซ‚เชฒเซเชฏ เชงเชฐเชพเชตเซ‡ เช›เซ‡.

VARCHAR2 เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ
VARCHAR2 เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‡เชฐเซ‡เช•เซเชŸเชฐ เชธเซ‡เชŸเชฎเชพเช‚ เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒ-เชฒเซ‡เชจเซเชฅ เช•เซ‡เชฐเซ‡เช•เซเชŸเชฐ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเชจเชพเชตเซ‹ เช›เซ‹ เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เช•เซเชทเชฐ เชธเชฎเซ‚เชนเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹. Oracle VARCHAR2 เช•เซ‰เชฒเชฎเชฎเชพเช‚ เช…เช•เซเชทเชฐ เชฎเซ‚เชฒเซเชฏเชจเซ‹ เชธเช‚เช—เซเชฐเชน เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชฎ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹ เช›เซ‹, เช•เซ‹เชˆเชชเชฃ เช–เชพเชฒเซ€-เชชเซ‡เชกเชฟเช‚เช— เชตเชฟเชจเชพ, เชœเซ‹ เชฎเซ‚เชฒเซเชฏ เช•เซ‰เชฒเชฎเชจเซ€ เชฒเช‚เชฌเชพเชˆ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชจ เชนเซ‹เชฏ.

NUMBER เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ
NUMBER เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ 1.0 x 10-130 เชฅเซ€ 1.0 x 10126 เชธเซเชงเซ€เชจเชพ เชจเชฟเชฐเชชเซ‡เช•เซเชท เชฎเซ‚เชฒเซเชฏเซ‹ เชธเชพเชฅเซ‡ เชถเซ‚เชจเซเชฏ เชคเซ‡เชฎเชœ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เช…เชจเซ‡ เชจเช•เชพเชฐเชพเชคเซเชฎเช• เชจเชฟเชถเซเชšเชฟเชค เชธเช‚เช–เซเชฏเชพเช“เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ 1.0 x 10126เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชคเซ‹ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เช…เช‚เช•เช—เชฃเชฟเชค เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹ เชœเซ‡เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชจเชฟเชฐเชชเซ‡เช•เซเชท เชฎเซ‚เชฒเซเชฏ เช•เชฐเชคเชพเช‚ เชตเชงเชพเชฐเซ‡ เช…เชฅเชตเชพ เชฌเชฐเชพเชฌเชฐ เช›เซ‡ 1 x 22, เชชเช›เซ€ Oracle เชเช• เชญเซ‚เชฒ เช†เชชเซ‡ เช›เซ‡. เชฆเชฐเซ‡เช• NUMBER เชฎเซ‚เชฒเซเชฏ เชฎเชพเชŸเซ‡ XNUMX เชฅเซ€ XNUMX เชฌเชพเช‡เชŸเซเชธ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช†เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ, เชšเซ‹เช•เซเช•เชธ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชกเซ‡เชŸเชพ เชฎเซ‚เชฒเซเชฏ NUMBER(p) เชฎเชพเชŸเซ‡ เชฌเชพเช‡เชŸเซเชธเชฎเชพเช‚ เช•เซ‰เชฒเชฎเชจเซเช‚ เช•เชฆ, เชœเซเชฏเชพเช‚ p เช เช†เชชเซ‡เชฒ เชฎเซ‚เชฒเซเชฏเชจเซ€ เชšเซ‹เช•เชธเชพเชˆ เช›เซ‡, เชจเซ€เชšเซ‡เชจเชพ เชธเซ‚เชคเซเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡: เชฐเชพเช‰เชจเซเชก((เชฒเช‚เชฌเชพเชˆ(p)+s)/2))+1 เชœเซเชฏเชพเช‚ เชธเช‚เช–เซเชฏเชพ เชงเชจ เชนเซ‹เชฏ เชคเซ‹ s เชฌเชฐเชพเชฌเชฐ เชถเซ‚เชจเซเชฏ เช…เชจเซ‡ เชœเซ‹ เชธเช‚เช–เซเชฏเชพ เช‹เชฃ เชนเซ‹เชฏ เชคเซ‹ s เชฌเชฐเชพเชฌเชฐ 1.

เชตเชงเซเชฎเชพเช‚, เชšเชพเชฒเซ‹ เชจเชฒ เชฎเซ‚เชฒเซเชฏเซ‹ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชตเชฟเชถเซ‡เชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เชเช• เชŸเซ‚เช‚เช•เชธเชพเชฐ เชฒเชˆเช.

เชจเชฒ เช เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชฎเซ‚เชฒเซเชฏเชจเซ€ เช—เซ‡เชฐเชนเชพเชœเชฐเซ€ เช›เซ‡. เชจเชฒ เช—เซเชฎ เชฅเชฏเซ‡เชฒ, เช…เชœเซเชžเชพเชค เช…เชฅเชตเชพ เช…เชฏเซ‹เช—เซเชฏ เชกเซ‡เชŸเชพ เชธเซ‚เชšเชตเซ‡ เช›เซ‡. เชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡ เชœเซ‹ เชคเซ‡ เชกเซ‡เชŸเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชธเชพเชฅเซ‡ เช•เซ‰เชฒเชฎ เชตเชšเซเชšเซ‡ เช†เชตเซ‡ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชคเซ‡เชฎเชจเซ‡ เช•เซ‰เชฒเชฎเชจเซ€ เชฒเช‚เชฌเชพเชˆ (เชถเซ‚เชจเซเชฏ) เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ 1 เชฌเชพเชˆเชŸเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เชเช• เชชเช‚เช•เซเชคเชฟเชฎเชพเช‚ เชชเชพเช›เชณเชจเชพ เชจเชฒเซเชธเชจเซ‡ เช•เซ‹เชˆ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชจเชตเซ€ เชชเช‚เช•เซเชคเชฟ เชนเซ‡เชกเชฐ เชธเช‚เช•เซ‡เชค เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เช…เช—เชพเช‰เชจเซ€ เชชเช‚เช•เซเชคเชฟเชฎเชพเช‚ เชฌเชพเช•เซ€เชจเซ€ เช•เซ‰เชฒเชฎ เชจเชฒ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เช•เซ‹เชทเซเชŸเช•เชจเซ€ เช›เซ‡เชฒเซเชฒเซ€ เชคเซเชฐเชฃ เช•เซ‰เชฒเชฎ เชจเชฒ เชนเซ‹เชฏ, เชคเซ‹ เช† เช•เซ‰เชฒเชฎเซเชธ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชคเซ‹ เชจเชฅเซ€.

เช† เชกเซ‡เชŸเชพเชจเชพ เช†เชงเชพเชฐเซ‡, เช…เชฎเซ‡ เชคเชฐเซเช• เชฌเชจเชพเชตเซ€เช เช›เซ€เช. เช…เชฎเซ‡ เชงเชพเชฐเซ€เช เช›เซ€เช เช•เซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช AL32UTF8 เชเชจเซเช•เซ‹เชกเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช† เชเชจเซเช•เซ‹เชกเชฟเช‚เช—เชฎเชพเช‚, เชฐเชถเชฟเชฏเชจ เช…เช•เซเชทเชฐเซ‹ 2 เชฌเชพเช‡เชŸเซเชธ เชชเชฐ เช•เชฌเชœเซ‹ เช•เชฐเชถเซ‡.

1) A เช…เชจเซ‡ X, เช•เซเชทเซ‡เชคเซเชฐ a 'Y' เชจเซ€ เช•เชฟเช‚เชฎเชค 1 เชฌเชพเช‡เชŸ เชฒเซ‡ เช›เซ‡, เช•เซเชทเซ‡เชคเซเชฐ x 'D' เชจเซ€ เช•เชฟเช‚เชฎเชค 2 เชฌเชพเช‡เชŸ เชฒเซ‡ เช›เซ‡
2) B เช…เชจเซ‡ Y, b เชฎเชพเช‚ 'เชตเชพเชธเซเชฏ' 10 เช…เช•เซเชทเชฐเซ‹ เชธเซเชงเซ€เชจเซ€ เชœเช—เซเชฏเชพเช“ เชธเชพเชฅเซ‡ เชชเซ‡เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ 14 เชฌเชพเชˆเชŸ เชฒเซ‡เชถเซ‡, d เชฎเชพเช‚ 'เชตเชพเชธเซเชฏ' 8 เชฌเชพเชˆเชŸ เชฒเซ‡เชถเซ‡.
3) C เช…เชจเซ‡ K. เชฌเช‚เชจเซ‡ เชซเซ€เชฒเซเชกเชฎเชพเช‚ NULL เชฎเซ‚เชฒเซเชฏ เช›เซ‡, เชคเซ‡เชฎเชจเชพ เชชเช›เซ€ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชซเซ€เชฒเซเชกเซเชธ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡เช“ 1 เชฌเชพเชˆเชŸ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
4) C เช…เชจเซ‡ Z. เชฌเช‚เชจเซ‡ เชซเซ€เชฒเซเชกเชจเซ€ เช•เชฟเช‚เชฎเชค NULL เช›เซ‡, เชชเชฐเช‚เชคเซ เชซเซ€เชฒเซเชก Z เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช›เซ‡เชฒเซเชฒเซเช‚ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡ เชœเช—เซเชฏเชพ (0 เชฌเชพเช‡เชŸเซเชธ) เชฒเซ‡เชคเซเช‚ เชจเชฅเซ€. เชซเซ€เชฒเซเชก C 1 เชฌเชพเช‡เชŸ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
5) K เช…เชจเซ‡ Z. เช…เช—เชพเช‰เชจเชพ เช•เซ‡เชธเชจเซ€ เชœเซ‡เชฎ เชœ. K เชซเซ€เชฒเซเชกเชฎเชพเช‚ เชฎเซ‚เชฒเซเชฏ Z โ€“ 1 เชฎเชพเช‚ 0 เชฌเชพเชˆเชŸ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
6) I เช…เชจเซ‡ J. เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ, เชฌเช‚เชจเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ 2 เชฌเชพเช‡เชŸเซเชธ เชฒเซ‡เชถเซ‡. เช…เชฎเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เชฒเซ€เชงเซ‡เชฒเชพ เชธเซ‚เชคเซเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเช‚เชฌเชพเชˆเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€เช เช›เซ€เช: เชฐเชพเช‰เชจเซเชก((1 + 0)/2) +1 = 1 + 1 = 2.
7) J เช…เชจเซ‡ X. J เชซเซ€เชฒเซเชกเชฎเชพเช‚ เชตเซ‡เชฒเซเชฏเซ 2 เชฌเชพเชˆเชŸ เชฒเซ‡เชถเซ‡, X เชซเซ€เชฒเซเชกเชฎเชพเช‚ เชตเซ‡เชฒเซเชฏเซ 2 เชฌเชพเชˆเชŸ เชฒเซ‡เชถเซ‡.

เช•เซเชฒเชฎเชพเช‚, เชธเชพเชšเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡: C เช…เชจเซ‡ K, I เช…เชจเซ‡ J, J เช…เชจเซ‡ X.

T_I เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซเช‚ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช†เชถเชฐเซ‡ เชถเซเช‚ เชนเชถเซ‡?

create table t (i integer);
 
insert into t select rownum from dual connect by level <= 10000;
 
create index t_i on t(i);

  • เชฆเชธ เชตเชฟเชถเซ‡
  • เชฒเช—เชญเช— เชธเซ‡เช‚เช•เชกเซ‹
  • เชฒเช—เชญเช— เชนเชœเชพเชฐเซ‹
  • เชฒเช—เชญเช— เชนเชœเชพเชฐเซ‹

เชœเชตเชพเชฌ เช†เชชเซ‹เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (12.1 เชฅเซ€ เช…เชตเชคเชฐเชฃ):

เชฌเซ€-เชŸเซเชฐเซ€ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฎเชพเชŸเซ‡, เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฎเซ‚เชฒเซเชฏเชจเชพ เชธเช‚เชฌเช‚เชงเชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟเช“เชจเชพ เชญเซŒเชคเชฟเช• เชœเซ‚เชฅเชจเซ‡ เชฎเชพเชชเซ‡ เช›เซ‡.

เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐเชจเซ‡ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธ เชธเซเช•เซ‡เชจ เช…เชฅเชตเชพ เชธเช‚เชชเซ‚เชฐเซเชฃ เชŸเซ‡เชฌเชฒ เชธเซเช•เซ‡เชจ เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเชถเซเชจเซ‹ เชฎเชพเชŸเซ‡ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡). เชจเซ€เชšเชพ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เชเช• เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช‡เชจเซเชกเซ‡เช•เซเชธ เชธเซเช•เซ‡เชจ เชธเซ‚เชšเชตเซ‡ เช›เซ‡.

เชเช• เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช•เซ‡ เชœเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฌเซเชฒเซ‹เช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เชจเชœเซ€เช• เช›เซ‡ เชคเซ‡ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชชเช‚เช•เซเชคเชฟเช“ เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซ€ เชฆเซเชตเชพเชฐเชพ เช•เซ‹เชทเซเชŸเช• เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชญเซŒเชคเชฟเช• เชฐเซ€เชคเซ‡ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เช›เซ‡. เชœเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเช‚เชชเซ‚เชฐเซเชฃ เชŸเซ‡เชฌเชฒ เชธเซเช•เซ‡เชจ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเช‚เช•เซเชคเชฟเช“เชจเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชตเชฒเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซ€ เชฆเซเชตเชพเชฐเชพ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒเซ€ เชกเชฟเชธเซเช• เชชเชฐ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชเช• เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช•เซ‡ เชœเซ‡ เชชเช‚เช•เซเชคเชฟเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เชจเชœเซ€เช• เช›เซ‡ เชคเซ‡ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชชเช‚เช•เซเชคเชฟเช“ เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซ€เชจเชพ เชธเช‚เชฌเช‚เชงเชฎเชพเช‚ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชฐเซ‡เชจเซเชกเชฎ เชฐเซ€เชคเซ‡ เชตเซ‡เชฐเชตเชฟเช–เซ‡เชฐ เช›เซ‡. เชœเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเช‚เชชเซ‚เชฐเซเชฃ เชŸเซ‡เชฌเชฒ เชธเซเช•เซ‡เชจ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เช† เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซ€ เชฆเซเชตเชพเชฐเชพ เช•เซ‹เชˆเชชเชฃ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒ เช•เซเชฐเชฎเชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟเช“ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚.

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชกเซ‡เชŸเชพ เช†เชฆเชฐเซเชถ เชฐเซ€เชคเซ‡ เชธเซ‰เชฐเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡, เชคเซ‡เชฅเซ€ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช•เชฌเชœเซ‡ เช•เชฐเซ‡เชฒเชพ เชฌเซเชฒเซ‹เช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เชฌเชฐเชพเชฌเชฐ เช…เชฅเชตเชพ เชจเชœเซ€เช• เชนเชถเซ‡. 8 เช•เชฟเชฒเซ‹เชฌเชพเชˆเชŸเชจเชพ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฌเซเชฒเซ‹เช• เช•เชฆ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชฒเช—เชญเช— เชนเชœเชพเชฐ เชธเชพเช‚เช•เชกเซ€ เชธเช‚เช–เซเชฏเชพเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชเช• เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชซเชฟเชŸ เชฅเชถเซ‡, เชคเซ‡เชฅเซ€ เชฌเซเชฒเซ‹เช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ, เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชชเชฐเชฟเชฌเชณ เชนเชถเซ‡. เชฆเชธ เชตเชฟเชถเซ‡.

N เชจเชพ เช•เชฏเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชชเชฐ เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชธเชพเชฅเซ‡ เชจเชฟเชฏเชฎเชฟเชค เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡?

create table t (
    a varchar2(N char),
    b varchar2(N char),
    c varchar2(N char),
    d varchar2(N char));
 
create index t_i on t (a, b, c, d);

  • 100
  • 200
  • 400
  • 800
  • 1600
  • 3200
  • 6400

เชœเชตเชพเชฌ เช†เชชเซ‹เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (11.2 เชฅเซ€ เช…เชตเชคเชฐเชฃ):

เชฒเซ‹เชœเชฟเช•เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเชฐเซเชฏเชพเชฆเชพเช“

เชตเชธเซเชคเซ
เชฎเชฐเซเชฏเชพเชฆเชพเชจเซ‹ เชชเซเชฐเช•เชพเชฐ
เชฎเชฐเซเชฏเชพเชฆเชพ เชฎเซ‚เชฒเซเชฏ

เชธเซ‚เชšเช•เชพเช‚เช•เซ‹
เช…เชจเซเช•เซเชฐเชฎเชฟเชค เช•เซ‰เชฒเชฎเชจเซเช‚ เช•เซเชฒ เช•เชฆ
เชกเซ‡เชŸเชพเชฌเซ‡เช เชฌเซเชฒเซ‹เช• เช•เชฆเชจเชพ 75% เชฎเชพเช‡เชจเชธ เช•เซ‡เชŸเชฒเชพเช• เช“เชตเชฐเชนเซ‡เชก

เช†เชฎ, เช…เชจเซเช•เซเชฐเชฎเชฟเชค เช•เซ‰เชฒเชฎเชจเซเช‚ เช•เซเชฒ เช•เชฆ 6Kb เช•เชฐเชคเชพเช‚ เชตเชงเซ เชจ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เช†เช—เชณ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เช†เชงเชพเชฐ เชเชจเซเช•เซ‹เชกเชฟเช‚เช— เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. AL32UTF8 เชเชจเซเช•เซ‹เชกเชฟเช‚เช— เชฎเชพเชŸเซ‡, เชเช• เช…เช•เซเชทเชฐ เชฎเชนเชคเซเชคเชฎ 4 เชฌเชพเช‡เชŸเซเชธ เชชเชฐ เช•เชฌเชœเซ‹ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚, เชฒเช—เชญเช— 6 เช…เช•เซเชทเชฐเซ‹ 1500 เช•เชฟเชฒเซ‹เชฌเชพเช‡เชŸเซเชธเชฎเชพเช‚ เชซเชฟเชŸ เชฅเชถเซ‡. เชคเซ‡เชฅเซ€, เช“เชฐเซ‡เช•เชฒ N = 400 (เชœเซเชฏเชพเชฐเซ‡ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เช•เซ‡เชธ เช•เซ€ เชฒเช‚เชฌเชพเชˆ 1600 เช…เช•เซเชทเชฐเซ‹ * 4 เชฌเชพเช‡เชŸเซเชธ + เชฐเซ‹เชตเชฟเชก เชฒเช‚เชฌเชพเชˆ) เชชเชฐ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เชจเช•เชพเชฐเชถเซ‡, เชœเซเชฏเชพเชฐเซ‡ N = 200 (เช…เชฅเชตเชพ เช“เช›เชพ) เชชเชฐ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฌเชจเชพเชตเชตเซเช‚ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เช•เชพเชฎ เช•เชฐเชถเซ‡.

APPEND เชธเช‚เช•เซ‡เชค เชธเชพเชฅเซ‡ INSERT เช“เชชเชฐเซ‡เชŸเชฐ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฎเซ‹เชกเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡. เชœเซ‹ เชคเซ‡ เชŸเซ‡เชฌเชฒ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‹ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชŸเซเชฐเชฟเช—เชฐ เช…เชŸเช•เซ‡ เช›เซ‡?

  • เชกเซ‡เชŸเชพ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฎเซ‹เชกเชฎเชพเช‚ เชฒเซ‹เชก เชฅเชถเซ‡, เชŸเซเชฐเชฟเช—เชฐ เช…เชชเซ‡เช•เซเชทเชพ เชฎเซเชœเชฌ เช•เชพเชฎ เช•เชฐเชถเซ‡
  • เชกเซ‡เชŸเชพ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฎเซ‹เชกเชฎเชพเช‚ เชฒเซ‹เชก เชฅเชถเซ‡, เชชเชฐเช‚เชคเซ เชŸเซเชฐเชฟเช—เชฐ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชถเซ‡ เชจเชนเซ€เช‚
  • เชกเซ‡เชŸเชพ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฎเซ‹เชกเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชŸเซเชฐเชฟเช—เชฐ เชœเซ‹เชˆเช เชคเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชถเซ‡
  • เชกเซ‡เชŸเชพ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฎเซ‹เชกเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชชเชฐเช‚เชคเซ เชŸเซเชฐเชฟเช—เชฐ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚
  • เชกเซ‡เชŸเชพ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เชเช• เชญเซ‚เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡

เชœเชตเชพเชฌ เช†เชชเซ‹เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เช† เชคเชฐเซเช•เชจเซ‹ เชตเชงเซ เชชเซเชฐเชถเซเชจ เช›เซ‡. เชธเชพเชšเซ‹ เชœเชตเชพเชฌ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชจเซ€เชšเซ‡เชจเชพ เชคเชฐเซเช•เชจเซเช‚ เชฎเซ‹เชกเซ‡เชฒ เชธเซ‚เชšเชตเซ€เชถ:

  1. เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฎเซ‹เชกเชฎเชพเช‚ เชฆเชพเช–เชฒ เช•เชฐเชตเซเช‚ เช เชเชธเช•เซเชฏเซเชเชฒ เชเชจเซเชœเชฟเชจเชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเซ€เชจเซ‡, เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช•เชจเซ€ เชธเซ€เชงเซ€ เชฐเชšเชจเชพ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เช‰เชšเซเชš เช—เชคเชฟเชจเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เช†เชฎ, เชŸเซเชฐเชฟเช—เชฐเชจเชพ เช…เชฎเชฒเชจเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเซเช‚ เช–เซ‚เชฌ เชœ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡, เชœเซ‹ เช…เชถเช•เซเชฏ เชจ เชนเซ‹เชฏ เชคเซ‹, เช…เชจเซ‡ เช†เชฎเชพเช‚ เช•เซ‹เชˆ เช…เชฐเซเชฅ เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชนเชœเซ€ เชชเชฃ เชจเชฟเชตเซ‡เชถเชจเซ‡ เชงเชฐเชฎเซ‚เชณเชฅเซ€ เชงเซ€เชฎเซเช‚ เช•เชฐเชถเซ‡.
  2. เชŸเซเชฐเชฟเช—เชฐเชจเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณเชคเชพ เช เชนเช•เซ€เช•เชค เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชถเซ‡ เช•เซ‡, เชœเซ‹ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชจเซ‹ เชกเซ‡เชŸเชพ เชธเชฎเชพเชจ เชนเซ‹เชฏ, เชคเซ‹ เชธเชฎเช—เซเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชธเซเชฅเชฟเชคเชฟ (เช…เชจเซเชฏ เช•เซ‹เชทเซเชŸเช•เซ‹) เชคเซ‡ เชฎเซ‹เชก เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชถเซ‡ เชœเซ‡เชฎเชพเช‚ เช† เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช† เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เช…เช–เช‚เชกเชฟเชคเชคเชพเชจเซ‡ เชจเชทเซเชŸ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช‰เช•เซ‡เชฒ เชคเชฐเซ€เช•เซ‡ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชถเซ‡ เชจเชนเซ€เช‚.
  3. เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡เชฒ เช‘เชชเชฐเซ‡เชถเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชธเชฎเชฐเซเชฅเชคเชพเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชญเซ‚เชฒ เชคเชฐเซ€เช•เซ‡ เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ APPEND เช เชเช• เชธเช‚เช•เซ‡เชค เช›เซ‡, เช…เชจเซ‡ เชธเช‚เช•เซ‡เชคเซ‹เชจเซ‹ เชธเชพเชฎเชพเชจเซเชฏ เชคเชฐเซเช• เช เช›เซ‡ เช•เซ‡ เชœเซ‹ เชถเช•เซเชฏ เชนเซ‹เชฏ เชคเซ‹ เชคเซ‡เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เช“เชชเชฐเซ‡เชŸเชฐ เชธเช‚เช•เซ‡เชคเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชตเชฟเชจเชพ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชคเซ‡เชฅเซ€ เช…เชชเซ‡เช•เซเชทเชฟเชค เชœเชตเชพเชฌ เช›เซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฎเชพเชจเซเชฏ (SQL) เชฎเซ‹เชกเชฎเชพเช‚ เชฒเซ‹เชก เชฅเชถเซ‡, เชŸเซเชฐเชฟเช—เชฐ เชซเชพเชฏเชฐ เชฅเชถเซ‡.

เช“เชฐเซ‡เช•เชฒ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฎเซเชœเชฌ (8.04 เชฅเซ€ เช…เชตเชคเชฐเชฃ):

เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹เชจเชพ เช‰เชฒเซเชฒเช‚เช˜เชจเชจเซ‡ เชฒเซ€เชงเซ‡, เชšเซ‡เชคเชตเชฃเซ€เช“ เช…เชฅเชตเชพ เชญเซ‚เชฒ เชธเช‚เชฆเซ‡เชถเชพเช“ เชตเชฟเชจเชพ, เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฆเชพเช–เชฒ เชชเชพเชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชจเชฟเชตเซ‡เชฆเชจเชจเซ‡ เชธเซ€เชฐเซ€เชฏเชฒ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชเช• เช…เชชเชตเชพเชฆ เช เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจเชฎเชพเช‚ เชเช• เช•เชฐเชคเชพ เชตเชงเซ เชตเช–เชค เชธเชฎเชพเชจ เชŸเซ‡เชฌเชฒเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเชพ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชง เช›เซ‡, เชœเซ‡ เชญเซ‚เชฒ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡.
เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชŸเซ‡เชฌเชฒ เชชเชฐ เชŸเซเชฐเชฟเช—เชฐเซเชธ เช…เชฅเชตเชพ เชธเช‚เชฆเชฐเซเชญ เช…เช–เช‚เชกเชฟเชคเชคเชพ เชนเชพเชœเชฐ เชนเซ‹เชฏ, เชคเซ‹ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ-เชฒเซ‹เชก INSERT (เชธเซ€เชฐเซ€เชฏเชฒ เช…เชฅเชตเชพ เชธเชฎเชพเช‚เชคเชฐ) เชคเซ‡เชฎเชœ PARALLEL เชธเช‚เช•เซ‡เชค เช…เชฅเชตเชพ เช•เชฒเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชถเซ‹ เชคเซเชฏเชพเชฐเซ‡ APPEND เชธเช‚เช•เซ‡เชคเชจเซ‡ เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‹ เช•เซ‹เชˆ เชนเซ‹เชฏ เชคเซ‹.

เชœเซเชฏเชพเชฐเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชถเซเช‚ เชฅเชถเซ‡?

create table t(i integer not null primary key, j integer references t);
 
create trigger t_a_i after insert on t for each row
declare
    pragma autonomous_transaction;
begin
    insert into t values (:new.i + 1, :new.i);
    commit;
end;
/
 
insert into t values (1, null);

  • เชธเชซเชณ เช…เชฎเชฒ
  • เชตเชพเช•เซเชฏเชฐเชšเชจเชพ เชญเซ‚เชฒเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ
  • เชญเซ‚เชฒ: เชธเซเชตเชพเชฏเชคเซเชค เชตเซเชฏเชตเชนเชพเชฐ เชฎเชพเชจเซเชฏ เชจเชฅเซ€
  • เช•เซ‰เชฒ เชจเซ‡เชธเซเชŸเชฟเช‚เช—เชจเซ€ เชฎเชนเชคเซเชคเชฎ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เช“เชณเช‚เช—เชตเชพ เชธเช‚เชฌเช‚เชงเชฟเชค เชญเซ‚เชฒ
  • เชตเชฟเชฆเซ‡เชถเซ€ เช•เซ€ เช‰เชฒเซเชฒเช‚เช˜เชจ เชญเซ‚เชฒ
  • เชคเชพเชณเชพเช“ เชธเช‚เชฌเช‚เชงเชฟเชค เชญเซ‚เชฒ

เชœเชตเชพเชฌ เช†เชชเซ‹เช•เซ‹เชทเซเชŸเช• เช…เชจเซ‡ เชŸเซเชฐเชฟเช—เชฐ เชเช•เชฆเชฎ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ เช…เชจเซ‡ เช† เช‘เชชเชฐเซ‡เชถเชจเชฅเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชจ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช. เชŸเซเชฐเชฟเช—เชฐเชฎเชพเช‚ เชธเซเชตเชพเชฏเชคเซเชค เชตเซเชฏเชตเชนเชพเชฐเซ‹เชจเซ‡ เชชเชฃ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡, เช…เชจเซเชฏเชฅเชพ เชฒเซ‹เช—เชฟเช‚เช— เชถเช•เซเชฏ เชจเชนเซ€เช‚ เชนเซ‹เชฏ, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡.

เชชเซเชฐเชฅเชฎ เชชเช‚เช•เซเชคเชฟ เชฆเชพเช–เชฒ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชธเชซเชณ เชŸเซเชฐเชฟเช—เชฐ เชซเชพเชฏเชฐเชฟเช‚เช— เชฌเซ€เชœเซ€ เชชเช‚เช•เซเชคเชฟเชจเซ‡ เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเชถเซ‡, เชœเซ‡เชจเชพ เช•เชพเชฐเชฃเซ‡ เชŸเซเชฐเชฟเช—เชฐ เชซเชฐเซ€เชฅเซ€ เชซเชพเชฏเชฐ เชฅเชถเซ‡, เชคเซเชฐเซ€เชœเซ€ เชชเช‚เช•เซเชคเชฟ เชฆเชพเช–เชฒ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เซ‰เชฒเซเชธเชจเซ€ เชฎเชนเชคเซเชคเชฎ เชฎเชพเชณเช–เชพเชจเซ‡ เชตเชŸเชพเชตเซ€ เชœเชตเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชจเชฟเชทเซเชซเชณ เชจ เชœเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€. เชœเซ‹ เช•เซ‡, เช…เชจเซเชฏ เชธเซ‚เช•เซเชทเซเชฎ เชฌเชฟเช‚เชฆเซ เชฐเชฎเชคเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชŸเซเชฐเชฟเช—เชฐ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชพเชฏ เชคเซ‡ เชธเชฎเชฏเซ‡, เช•เชฎเชฟเชŸ เชนเชœเซ€ เชธเซเชงเซ€ เชชเซเชฐเชฅเชฎ เชฆเชพเช–เชฒ เช•เชฐเซ‡เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชก เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชธเซเชตเชพเชฏเชคเซเชค เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชšเชพเชฒเชคเซเช‚ เชŸเซเชฐเชฟเช—เชฐ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชเช• เชชเช‚เช•เซเชคเชฟ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เชฎเชพเชŸเซ‡ เชตเชฟเชฆเซ‡เชถเซ€ เช•เซ€เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡ เชนเชœเซ€ เชธเซเชงเซ€ เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชจเชฅเซ€. เช†เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชฐเชพเชน เชœเซ‹เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชธเซเชตเชฏเช‚เชคเซเชค เชตเซเชฏเชตเชนเชพเชฐ เชฎเซเช–เซเชฏ เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจเชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡ เช•เซ‡ เชคเซ‡ เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡) เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชฎเซเช–เซเชฏ เชตเซเชฏเชตเชนเชพเชฐ เชŸเซเชฐเชฟเช—เชฐ เชชเช›เซ€ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชตเชพเชฏเชคเซเชค เชตเซเชฏเชตเชนเชพเชฐเชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡. เชกเซ‡เชกเชฒเซ‹เช• เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเชพเชณเชพเช“ เชธเช‚เชฌเช‚เชงเชฟเชค เช•เชพเชฐเชฃเซ‹เชธเชฐ เชธเซเชตเชพเชฏเชคเซเชค เชตเซเชฏเชตเชนเชพเชฐ เชฐเชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡..

เชซเช•เซเชค เชจเซ‹เช‚เชงเชพเชฏเซ‡เชฒเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชœ เชธเชฐเซเชตเซ‡เชฎเชพเช‚ เชญเชพเช— เชฒเชˆ เชถเช•เซ‡ เช›เซ‡. เชธเชพเช‡เชจ เช‡เชจ เช•เชฐเซ‹, เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡.

เชคเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เชนเชคเซเช‚?

  • เชฌเซ‡ เช†เช‚เช—เชณเซ€เช“เชจเซ€ เชœเซ‡เชฎ, เชฎเซ‡เช‚ เชคเชฐเชค เชœ เชฌเชงเซเช‚ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

  • เช–เชฐเซ‡เช–เชฐ เชจเชฅเซ€, เชนเซเช‚ เช•เซ‡เชŸเชฒเชพเช• เชชเซเชฐเชถเซเชจเซ‹เชฎเชพเช‚ เช–เซ‹เชŸเซ‹ เชนเชคเซ‹.

  • เชฎเซ‡เช‚ เชคเซ‡เชจเซ‹ เช…เชกเชงเซ‹ เชญเชพเช— เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซเชฏเซ‹.

  • เชฎเซ‡เช‚ เชฌเซ‡ เชตเชพเชฐ เชœเชตเชพเชฌเชจเซ‹ เช…เช‚เชฆเชพเชœ เชฒเช—เชพเชตเซเชฏเซ‹!

  • เชนเซเช‚ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชฒเช–เซ€เชถ

14 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เช เชฎเชคเชฆเชพเชจ เช•เชฐเซเชฏเซเช‚. 10 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฆเซ‚เชฐ เชฐเชนเซเชฏเชพ.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹