Oracle ·ÖÒ³ÎÊÌâ - Oracle / ¸ß¼¶¼¼Êõ
ÓõÄÊÇÕâÖÖ·ÖÒ³
sql = "select * from table"
con.prepareCall("SELECT * from(SELECT A.*, rownum r from("+sql+") A WHERE rownum <= "+intPage*intPageSize+") B WHERE r > "+(intPage-1)*intPageSize);
¾Ý˵ÊDZȽϳÉÊìµÄ×ö·¨¡£
ÎÒÓÃ100wÌõÊý¾Ý²âÊÔ£¬Ã¿Ò³5ÌõÊý¾Ý£¬1wÒ³ÒÔÄÚËÙ¶È»¹¿ÉÒÔ½ÓÊÜ£¬2Ãë¶à£¬µ«µ½10wÒ³ºó£¬¾ÍÐèҪʮ¼¸ÃëÁË¡£
ÏëÎÊÎÊ£¬ÓÐû¸ü¸ßЧµÄ·ÖÒ³·½·¨£¿
ÓÃrow_number()¿´¿´ÊÇ·ñ»áºÃÒ»µã
Ò»°ãÀ´Ëµ
ÄãÁгöµÄ·½·¨ÊÇ×î³ÉÊì×î³£Óõķ½·¨£¬ÒòΪһ°ãÓû§×î¹ØÐĵÄÊÇÊý¾Ýǰ¼¸Ò³µÄÊý¾Ý£¬ËùÒÔ£¬ÕâÖÖд·¨ÔÚȡǰ¼¸Ò³µÄÊý¾ÝÊý¾ÝʱÐÔÄܺܺ㬵«µ½ºóÃæ¾ÍÔ½À´Ô½²î£¬ÁíÍ⻹һÖÖ·½·¨ÊǸù¾ÝË÷ÒýÈ¡µÃrowidµÄ·½·¨£¬ÈçÏÂ
SELECT *
from t
WHERE ROWID IN (SELECT rid
from (SELECT rownum r, ROWID rid
from (SELECT ROWID from TABLE WHERE col1 = 'A')
WHERE r <= &intPage * &intPageSize)
WHERE r >= (&intPage - 1) * &intPageSize))
ÕâÖÖ·½·¨ÔÚË÷Òý±È±íСµÃ¶àµÄÇé¿öÏ£¬ÔÚ·ÃÎÊÇ°ÃæµÄÃæÐ§Âʽ«±ÈµÚÒ»ÖÖ·½·¨¸ß£¬µ«Èç¹ûÔÚ·ÃÎʺóÃæµÄÒ³£¬Ð§Âʽ«±ÈµÚÒ»ÖÖ·½·¨ºÃºÜ¶à¡£¹Ø¼ü¿´Êµ¼ÊµÄÐèÒªÁË¡£
ÁíÍ⣬ʹÓ÷ÖÎöº¯Êý£¬¾²âÊÔ·ÖÎöº¯ÊýÔÚ·ÖÒ³ÉÏÓÐÄãÒâÏë²»µ½µÄЧ¹û£¡¿É¶¯ÊÖÊÔÊÔ£¡
Ã÷°×ÁË£¬ÎÒ·¢ÏÖÂýµÄÔÒòÊÇÿ´Î¶¼ÒªÍ³¼Æselect count(1£© from table1 »ñÈ¡×ܼǼÊý£¬Õâ¸ö²î²»¶àÓÃÁË2Ã룬ʵ¼Ê·Ò³Ç°ÃæµÄÖ»ÊǼ¸Ê®º
Ïà¹ØÎÊ´ð£º
ÎÒÊÇÓÃÔ¶³Ì×ÀÃæÁ¬²Ù×÷·þÎñÆ÷ÉϵÄÊý¾Ý¿â¡£
ÔÚ´´½¨Ò»¸öÓû§Ö®ºó£¬ÔÙÓÃPLSQLµÇ¼£¬ÔòPLSQLËÀµôÁË¡£
ÎҹصôPLSQLÖ®ºó£¬ÓÃÆäËûÓû§Ò²²»ÄܵǼ¡£
ÎÒ°ÑoracleµÄ·þÎñÍ£Ö¹£¬½á¹û¾ÍÊÇoracleµÄ·þÎñ״̬¾ÍÍ£ÁôÔÚ¡°Í ......
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó
#topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬
Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7
Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04
#lslv -l lv04
......
¿´µ½ÓÐÒ»¸öSUNµÄÔªÀÏ´ÓOracle¹«Ë¾´ÇÖ°£¬¶øÇÒÊÇJava´´Ê¼ÈË——´óÃû¶¦¶¦µÄJames Gosling£¬
ÐÄÖÐÏ൱ÊÜ´ò»÷£¡ºÜ±¯Í´£¡
OrableÕâÊÇÔõôÁË£¬ÄѵÀÕâ¾ÍÊÇËùνµÄÈںϣ¨Ö«½â£¬·Ö»¯£¬Ïûʧ£©Âð£¿
SUNµÄÒ»°ïÀÏÔ±¹¤¶ ......