²âÁ¿sql ½âÎöºÄ·ÑµÄʱ¼ä±ÈÀý
Çå¿Õ¹²Ïí³Ø£¬¹Ø±Õ£¬ÖØÆôÊý¾Ý¿â
SQL> shutdown immediate;
SQL> startup;
¿ªÆô ʱ¼äͳ¼Æ
SQL> set timi on
SQL> select count(*) from dba_objects;
COUNT(*)
----------
11308
Elapsed: 00:00:00.19
SQL> /
COUNT(*)
----------
11308
Elapsed: 00:00:00.03
SQL> /
COUNT(*)
----------
11308
Elapsed: 00:00:00.03
SQL> select 16/19 from dual;
16/19
----------
.842105263
¿ÉÒÔ¿´µ½ ½âÎöʱ¼ä ËùÕ¼ÓÃÁ˾ø´ó²¿·Öʱ¼ä £¬µ¥Æ¾Õâ¸öʵÑé ²»ÄÜ˵SQL½âÎö»áÕ¼ÓÃ84%µÄʱ¼ä£¬²»¹ý¿ÉÒԿ϶¨µÄÊÇ SQL½âÎö»áÕ¼ÓÃSQLÓï¾äÔËÐеĺܴ󲿷Öʱ¼ä¡£
ÏÂÃæÀ´²âÊÔһϠʹÓð󶨱äÁ¿ ºÍ²»Ê¹Óð󶨱äÁ¿ËùSQL½âÎöËù´øÀ´µÄÐÔÄÜÎÊÌâ
Ö´ÐÐÁ½¸ö½Å±¾ µÚÒ»¸ö ½Å±¾²»Ê¹Óð󶨱äÁ¿
bind1.sql½Å±¾ÄÚÈÝÈçÏÂ:
declare
type cur is ref cursor;
cur1 cur;
name varchar2(1000);
begin
for i in 1..1000 loop
open cur1 for 'select object_name from dba_objects where object_id=' || i;
fetch cur1 into name;
close cur1;
end loop;
end ;
/
bind2.sql ½Å±¾ÄÚÈÝ£º
declare
type cur is ref cursor;
cur1 cur;
name varchar2(1000);
begin
for i in 1..1000 loop
open cur1 for 'select object_name from dba_objects where object_id=:x'using i;
fetch cur1 into name;
close cur1;
end loop;
end ;
/
¿ªÊ¼²âÊÔ
SQL> alter system flush shared_pool;
System altered.
SQL> set timi on
SQL> @bind1
PL/SQL procedure successfully completed.
Elapsed: 00:00:07.51
SQL>select sql_text from v$sqlarea where sql_text like '%dba_objects%';
SQL_TEXT
----------------------------------------------------------------------------------------------------
select object_name from dba_objects where object_id=506
select object_name from dba_objects where object_id=716
select object_name from dba_objects where object_id=129
....................
¿ÉÒÔ¿´µ½ ¸ÃÓï¾ä½âÎöÁË1000´Î
SQL> alter system flush shared_pool;
System altered.
SQL> @bind2
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.64
Ïà¹ØÎĵµ£º
Èç¹ûÄã¾³£Óöµ½ÏÂÃæµÄÎÊÌ⣬Äã¾ÍÒª¿¼ÂÇʹÓÃSQL ServerµÄÄ£°åÀ´Ð´¹æ·¶µÄSQLÓï¾äÁË£º
SQL³õѧÕß¡£
¾³£Íü¼Ç³£ÓõÄDML»òÊÇDDL SQL Óï¾ä¡£
ÔÚ¶àÈË¿ª·¢Î¬»¤µÄSQLÖУ¬Ã¿¸öÈ˶¼ÓÐ×Ô¼ºµÄSQLϰ¹ß£¬Ã»ÓÐÒ»Ì×ͳһµÄ¹æ·¶¡£
ÔÚSQL Server Management StudioÖУ¬ÒѾ¸ø´ó¼ÒÌṩÁ˺ܶೣÓõÄÏÖ³ÉSQL¹æ·¶Ä£°å¡£
SQL Server Management ......
SqlHelper ÀàʵÏÖÏêϸÐÅÏ¢
SqlHelper ÀàÓÃÓÚͨ¹ýÒ»×龲̬·½·¨À´·â×°Êý¾Ý·ÃÎʹ¦ÄÜ¡£¸ÃÀ಻Äܱ»¼Ì³Ð»òʵÀý»¯£¬Òò´Ë½«ÆäÉùÃ÷Ϊ°üº¬×¨Óù¹Ô캯ÊýµÄ²»¿É¼Ì³ÐÀà¡£
ÔÚ SqlHelper ÀàÖÐʵÏÖµÄÿÖÖ·½·¨¶¼ÌṩÁËÒ»×éÒ»ÖµÄÖØÔØ¡£ÕâÌṩÁËÒ»ÖֺܺõÄʹÓà SqlHelper ÀàÀ´Ö´ÐÐÃüÁîµÄģʽ£¬Í¬Ê±Îª¿ª·¢ÈËԱѡÔñ·ÃÎÊÊý¾ÝµÄ·½Ê½ÌṩÁ˱ØÒ ......
´æ´¢¹ý³Ì´úÂ룺
--drop procedure p_page
--go
create procedure p_page
(
@Tables varchar(1000), --±íÃûÈçtesttable
@PrimaryKey varchar(100),--±íµÄÖ÷¼ü,±ØÐëΨһÐÔ
@Sort varchar(200) = NULL,--ÅÅÐò×Ö¶ÎÈçf_Name asc»òf_name desc(×¢ÒâÖ»ÄÜÓÐÒ»¸öÅÅÐò×Ö¶Î)
@CurrentPage int = 1,--µ± ......
Oracle Êý¾Ý¿â 10g ÌṩÁË´óÁ¿°ïÖú³ÌÐò£¨»ò“¹ËÎʳÌÐò”£©£¬¿É°ïÖúÄú¾ö¶¨×î¼Ñ²Ù×÷Á÷³Ì¡£ÆäÖÐÒ»¸öʾÀýÊÇ SQL Tuning Advisor£¬Ëü¿ÉÒÔÌṩÓйزéѯµ÷ÕûÒÔ¼°ÔÚÁ÷³ÌÖÐÑÓ³¤Õû¸öÓÅ»¯¹ý³ÌµÄ½¨Òé¡£
µ«Ç뿼ÂÇÒÔϵ÷Õû°¸Àý£º¼ÙÉèÒ»¸öË÷ÒýȷʵÓÐÖúÓÚij¸ö²éѯ£¬µ«¸Ã²éѯִֻÐÐÒ»´Î¡£ÕâÑù£¬¼´Ê¹¸Ã²éѯ¿ÉÒÔµÃÒæÓÚ´ËË÷Òý£¬µ«´´ ......
--´Ë´¦Ê¹ÓÃpubs¿â
declare @myname varchar(50)
declare @fname varchar(20)
declare @lname varchar(20)
declare my_cursor cursor for
select fname,lname from employee order by emp_id
open my_cursor
fetch next from my_cursor into @fname,@lname
while @@fetch_status=0
begin
set @ ......