OracleË÷Òý±Ê¼Ç
Ò».B-TreeË÷Òý(b-tree index)
1. Ñ¡ÏîÔñË÷Òý×ֶεÄÔÔò:
ÔÚWHERE×Ó¾äÖÐ×îÆµ·±Ê¹ÓõÄ×Ö¶Î
Áª½ÓÓï¾äÖеÄÁª½Ó×Ö¶Î
Ñ¡Ôñ¸ßÑ¡ÔñÐÔµÄ×Ö¶Î(Èç¹ûºÜÉÙµÄ×Ö¶ÎÓµÓÐÏàֵͬ,¼´Óкܶà¶ÀÌØÖµ,ÔòÑ¡ÔñÐԺܺÃ)
ORACLEÔÚUNIQUEºÍÖ÷¼ü×Ö¶ÎÉÏ×Ô¶¯½¨Á¢Ë÷Òý
ÔÚÑ¡ÔñÐԺܲîµÄ×Ö¶ÎÉϽ¨Ë÷ÒýÖ»ÓÐÔÚÕâ¸ö×ֶεÄÖµ·Ö²¼·Ç³£ÇãбµÄÇé¿öÏÂϲÅÓÐÒæ(ÔÚÕâÖÖÇé¿öÏÂ,ijһ,Á½¸ö×Ö¶ÎÖµ±ÈÆäËü×ÖÖµÉÙ³öÏֺܶà)
²»ÒªÔÚºÜÉÙ¶ÀÌØÖµµÄ×Ö¶ÎÉϽ¨B-TREEË÷Òý,ÔÚÕâÖÖÇé¿öÏÂ,Äã¿ÉÒÔ¿¼ÂÇÔÚÕâЩ×Ö¶ÎÉϽ¨Î»Í¼Ë÷Òý.ÔÚÁª»úÊÂÎñ´¦Àí»·¾³ÏÂ,ËùÓɲ¢·¢ÐԷdz£¸ß,Ë÷Òý¾³£±»ÐÞ¸Ä,ËùÒÔ²»Ó¦¸Ã½¨Î»Í¼Ë÷Òý
²»ÒªÔÚ¾³£±»Ð޸ĵÄ×Ö¶ÎÉϽ¨Ë÷Òý.µ±ÓÐUPDATE,DELETE,INSETT²Ù×÷ʱ,ORACLE³ýÁËÒª¸üбíµÄÊý¾ÝÍâ,ͬʱҲҪ¸üÐÂË÷Òý,¶øÇÒ¾ÍÏó¸üÐÂÊý¾ÝÒ»Ñù,»ò²úÉú»¹ÔºÍÖØ×öÌõÄ¿
²»ÒªÔÚÓÐÓõ½º¯ÊýµÄ×Ö¶ÎÉϽ¨Ë÷Òý,ORACLEÔÚÕâÖÖÇé¿ö,ÓÅ»¯Æ÷²»»áÓõ½Ë÷Òý,³ý·ÇÄ㽨Á¢º¯ÊýË÷Òý
¿ÉÒÔ¿¼ÂÇÔÚÍâ¼ü×Ö¶ÎÉϽ¨Ë÷Òý,ÕâЩË÷ÒýÔÊÐíµ±ÔÚÖ÷±íÉÏUPDATE,DELETE²Ù×÷ʱ,²»ÐèÒª¹²Ïí×Ó±íµÄËø,Õâ·Ç³£ÊÊÓÃÓÚÔÚ¸¸±íºÍ×Ó±íÉÏÓкܶಢ·¢µÄINSERT,UPDATEºÍDELETE²Ù×÷µÄÇé¿ö
µ±½¨Á¢Ë÷Òýºó,Çë±È½ÏÒ»ÏÂË÷ÒýºóËù»ñµÃµÄ²éѯÐÔÄܵÄÌá¸ßºÍUPDATE,DELETE,INSERT²Ù×÷ÐÔÄÜÉϵÄËðʧ,±È½ÏµÃʧºó,ÔÙ×îºó¾ö¶¨ÊÇ·ñÐ轨Á¢Õâ¸öË÷Òý
2. Ñ¡Ôñ½¨Á¢¸´ºÏË÷Òý(composite index)
¸´ºÏË÷ÒýµÄÓŵã:
¸ÄÉÆÑ¡ÔñÐÔ:¸´ºÏË÷Òý±Èµ¥¸ö×ֶεÄË÷Òý¸ü¾ßÑ¡ÔñÐÔ
¼õÉÙI/O:Èç¹ûÒª²éѯµÄ×ֶθպÃÈ«²¿°üº¬ÔÚ¸´ºÏË÷ÒýµÄ×Ö¶ÎÀï,ÔòORACLEÖ»Ðë·ÃÎÊË÷Òý,ÎÞÐë·ÃÎʱí
ʲôÇé¿öÏÂÓÅ»¯Æ÷»áÓõ½¸´ºÏË÷ÒýÄØ?
(a)µ±SQLÓï¾äµÄWHERE×Ó¾äÖÐÓÐÓõ½¸´ºÏË÷ÒýµÄÁìµ¼×Ö¶Îʱ,ORACLEÓÅ»¯Æ÷»á¿¼ÂÇÓõ½¸´ºÏË÷ÒýÀ´·ÃÎÊ.
(b)µ±Ä³¼¸¸ö×Ö¶ÎÔÚSQLÓï¾äµÄWHERE×Ó¾äÖо³£Í¨¹ýAND²Ù×÷·ûÁªºÏÔÚһЩʹÓÃ×÷Ϊ¹ýÂËν´Ê,²¢ÇÒÕ⼸¸ö×ֶκÏÔÚÒ»ÆðʱѡÔñÐԱȸ÷×Ôµ¥¸ö×ֶεÄÑ¡ÔñÐÔÒª¸üºÃʱ,¿ÉÄÜ¿¼ÂÇÓÃÕ⼸¸ö×Ö¶ÎÀ´½¨Á¢¸´ºÏË÷Òý.
(c)µ±Óм¸¸ö²éѯÓï¾ä¶¼ÊDzéѯͬÑùµÄ¼¸¸ö×Ö¶Îֵʱ,Ôò¿ÉÒÔ¿¼ÂÇÔÚÕ⼸¸ö×Ö¶ÎÉϽ¨Á¢¸´ºÏË÷Òý.
¸´ºÏË÷Òý×Ö¶ÎÅÅÐòµÄÔÔò:
È·±£ÔÚWHERE×Ó¾äÖÐʹÓõ½µÄ×Ö¶ÎÊǸ´ºÏË÷ÒýµÄÁìµ¼×Ö¶Î
Èç¹ûij¸ö×Ö¶ÎÔÚWHERE×Ó¾äÖÐ×îÆµ·±Ê¹ÓÃ,ÔòÔÚ½¨Á¢¸´ºÏË÷Òýʱ,¿¼ÂǰÑÕâ¸ö×Ö¶ÎÅÅÔÚµÚһλ(ÔÚCREATE INDEXÓï¾äÖÐ)
Èç¹ûËùÓеÄ×Ö¶ÎÔÚWHERE×Ó¾äÖÐʹÓÃÆµÂÊÏàͬ,Ôò½«×î¾ßÑ¡ÔñÐÔµÄ×Ö¶ÎÅÅÔÚ×îÇ°Ãæ,½«
Ïà¹ØÎĵµ£º
create or replace procedure p //ÓоÍÌæ»»£¬Ã»Óоʹ´½¨
is
cursor c is
select * from emp for update;
begin
for v_emp in c loop
if (v_emp.deptno =10) then
&nb ......
·ÖÎöº¯ÊýÊÇoracle816ÒýÈëµÄÒ»¸öȫеĸÅÄî,ΪÎÒÃÇ·ÖÎöÊý¾ÝÌṩÁËÒ»ÖÖ¼òµ¥¸ßЧµÄ´¦Àí·½Ê½.ÔÚ·ÖÎöº¯Êý³öÏÖÒÔǰ,ÎÒÃDZØÐëʹÓÃ×ÔÁª²éѯ,×Ó²éѯ»òÕßÄÚÁªÊÓͼ,ÉõÖÁ¸´ÔӵĴ洢¹ý³ÌʵÏÖµÄÓï¾ä,ÏÖÔÚÖ»ÒªÒ»Ìõ¼òµ¥µÄsqlÓï¾ä¾Í¿ÉÒÔʵÏÖÁË,¶øÇÒÔÚÖ´ÐÐЧÂÊ·½ÃæÒ²ÓÐÏ൱´óµÄÌá¸ß.
ÏÂÃæÖ÷Òª½éÉÜÒ»ÏÂÒÔϼ¸¸öº¯ÊýµÄʹÓà ......
ÔÚPL/SQLÖÐʹÓÃÕóÁд¦ÀíÊÇÒ»¸öºÜºÃµÄ×ö·¨(È磬ʹÓÃbulk collectºÍforall)¡£ÅúÁ¿´¦ÀíÄܹ»´ó´ó¼õÉÙPL/SQLÓï¾äÖ´ÐÐÒýÇæµÄ»·¾³Çл»´ÎÊý£¬´Ó¶øÌá¸ßÆäÐÔÄÜ¡£
¡¡¡¡ÁíÒ»¸öÓÅÐãʾÀýÊǰѴ洢¹ý³ÌÖеÄËùÓдúÂë·ÅÈëËø¶¨µÄÈí¼þ°üÖУ¬ÕâÑù¿ÉÒÔÉú³ÉÄ£¿éµ¥Ôª¡£°Ñ´æ´¢¹ý³Ì·ÅÈëÈí¼þ°üÀï¿ÉÒÔʵÏÖÏà¹Ø³ÌÐòºÍ¹¦ÄܵķÖ×é¡£µ±
µ¥¸ö°ü±»Ê¹Óà ......
ǰ¶Îʱ¼ä×öÁËÒ»¸öÐéÄâ×éÖ¯µÄ´´½¨¡£Õâ¸öÐéÄâ×éÖ¯µÄ´´½¨ÊÇ´ÓÏÖÓеÄ×éÖ¯ÖжÁÈ¡Êý¾ÝÈ»ºó½øÐзÖÎö±£´æµ½ÐéÄâ×éÖ¯±íÖС£±£´æÖ®ºóдÈÕÖ¾·½±ãͬ²½µ½ÆäËüϵͳÖС£¹«Ë¾Ê¹ÓõÄÖ÷Òª¼¼ÊõÊÇSSH¡£ÓÉÓÚÊÇÐÂÈËûÓÐʲô¾Ñ飬¼Ó֮ʱ¼ä±È½Ï½ôÆÈ£¬×îºóʹÓÃÒ»°ãµÄÂ߼˼Ïëͨ¹ýµÝ¹éÔÚhibernateÏÂ˳Àû´´½¨ÁË¡£¿ÉÊÇ´ÓÏÖÓеÄ×éÖ¯Ö ......
package com.chinacache.boss.queryservice.service.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.chinacache.boss.queryservice.excepti ......