ÔÚÊý¾Ý¿âÆô¶¯2Сʱºó£¬¿ÉÒÔͨ¹ýÒÔÏÂSQLÀ´²âÊÔÊý¾Ý¿âÐÔÄÜ
1. »º³åÇøÃüÖÐÂÊ:
»º³åÇøÃüÖÐÂʱíʾÔÚ²»ÐèÒª½øÐдÅÅÌ·ÃÎʵÄÇé¿öÏÂÔÚÄÚ´æ½á¹¹ÖÐÕÒµ½³£ÓÃÊý¾Ý¿éµÄƵÂÊ
select (1-(sum(decode(name, 'physical reads',value,0))/(sum(decode(name, 'db block gets',value,0))
+sum(decode(name,'consistent gets',value,0))))) * 100 "Hit Ratio"
from v$sysstat;
´óÓÚ98%Ϊ×î¼Ñ
2.Êý¾Ý×ֵ仺´æÃüÖÐÂÊ£º
Êý¾Ý×ֵ仺´æÃüÖÐÂÊÏÔʾÁ˶ÔÊý¾Ý×ÖµäºÍÆäËû¶ÔÏóµÄÄÚ´æ¶Á²Ù×÷ËùÕ¼µÄ°Ù·Ö±È¡£
select (1-(sum(getmisses)/sum(gets))) * 100 "Hit Ratio" from v$rowcache;
´óÓÚ98%Ϊ×î¼Ñ
3.¿â»º´æÃüÖÐÂÊ£º
¿â»º´æÃüÖÐÂÊÏÔʾÁ˶Ôʵ¼ÊÓï¾äºÍPL/SQL¶ÔÏóµÄÄÚ´æ¶Á²Ù×÷ËùÕ¼µÄ°Ù·Ö±È¡£×¢Ò⣬ºÜ¸ßµÄÃüÖÐÂʲ¢²»×ÜÊÇÒ»¼þºÃÊ¡£
select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "Hit Ratio" from V$LibraryCache;
´óÓÚ98%Ϊ×î¼Ñ
4.PGAÄÚ´æÅÅÐòÃüÖÐÂÊ
×Ô¶¯PGAÄÚ´æ¹ÜÀí¼ò»¯ÁË·ÖÅäPGAÄÚ´æµÄ·½·¨¡£Oracle¶¯Ì¬µ÷Õû¹¤×÷ÇøPGAÄÚ´æµÄ´óС(ÒÔSGAÄÚ´æ´óСµÄ20%Ϊ»ù´¡)¡£ÔÚ×Ô¶¯PGAÄÚ´æ¹ÜÀ ......
Select * into customers from clients
(Êǽ«clients±íÀïµÄ¼Ç¼²åÈëµ½customersÖУ¬ÒªÇó£ºcustomers±í²»´æÔÚ£¬ÒòΪÔÚ²åÈëʱ»á×Ô¶¯´´½¨Ëü£»)
Insert into customers select * from clients
½â£ºInsert into customers select * from clients£©ÒªÇóÄ¿±ê±í£¨customers£©´æÔÚ£¬
ÓÉÓÚÄ¿±ê±íÒѾ´æÔÚ£¬ËùÒÔÎÒÃdzýÁ˲åÈëÔ´±í£¨clients£©µÄ×Ö¶ÎÍ⣬
»¹¿ÉÒÔ²åÈë³£Á¿,ÁíÍâ×¢ÒâÕâ¾äinsert into ºóûÓÐvalues¹Ø¼ü×Ö ......
SQL Server Filtered Indexes - What They Are, How to Use and Performance Advantages
Written By: Arshad Ali -- 7/2/2009 -
Problem
SQL Server 2008 introduces Filtered Indexes which is an index with a WHERE clause. Doesn’t it sound awesome especially for a table that has huge amount of data and you often select only a subset of that data? For example, you have a lot of NULL values in a column and you want to retrieve records with only non-NULL values (in SQL Server 2008, this is called Sparse Column). Or in another scenario you have several categories of data in a particular column, but you often retrieve data only for a particular category value.
In this tip, I am going to walk through what a Filtered Index is, how it differs from other indexes, its usage scenario, its benefits and limitations.
Solution
A Filtered Index, which is an optimized non-clustered index, allows us to define a filter predicate, a WHERE clause, while creating the index. The B-Tree containing rows from ......
ÔÚ±¾ÎÄÖУ¬´ËʾÀý±ê×¼À¶Í¼µÄ´æ´¢¹ý³ÌÃüÃû·½·¨Ö»ÊÊÓÃÓÚSQLÄÚ²¿£¬¼ÙÈçÄãÕýÔÚ´´½¨Ò»¸öеĴ洢¹ý³Ì£¬»òÊÇ·¢ÏÖÒ»¸öûÓа´ÕÕÕâ¸ö±ê×¼¹¹ÔìµÄ´æ´¢¹ý³Ì£¬¼´¿ÉÒԲο¼Ê¹ÓÃÕâ¸ö±ê×¼¡£
×¢ÊÍ£º¼ÙÈç´æ´¢¹ý³ÌÒÔsp_ Ϊǰ׺¿ªÊ¼ÃüÃûÄÇô»áÔËÐеÄÉÔ΢µÄ»ºÂý£¬ÕâÊÇÒòΪSQL Server½«Ê×ÏȲéÕÒϵͳ´æ´¢¹ý³Ì£¬ËùÒÔÎÒÃǾö²»ÍƼöʹÓÃsp_×÷Ϊǰ׺¡£
´æ´¢¹ý³ÌµÄÃüÃûÓÐÕâ¸öµÄÓï·¨£º
[proc] [MainTableName] By [FieldName(optional)] [Action]
[ 1 ] [ 2 ] [ 3 ]¡¡¡¡[ 4 ]
(1) ËùÓеĴ洢¹ý³Ì±ØÐëÓÐǰ׺'proc'. ËùÓеÄϵͳ´æ´¢¹ý³Ì¶¼ÓÐǰ׺"sp_", ÍÆ¼ö²»Ê¹ÓÃÕâÑùµÄǰ׺ÒòΪ»áÉÔ΢µÄ¼õÂý¡£
(2) ±íÃû¾ÍÊÇ´æ´¢¹ý³Ì·ÃÎʵĶÔÏó¡£
(3) ¿ÉÑ¡×Ö¶ÎÃû¾ÍÊÇÌõ¼þ×Ӿ䡣 ÀýÈ磺
procClientByCoNameSelect, procClientByClientIDSelect
(4) ×îºóµÄÐÐΪ¶¯´Ê¾ÍÊÇ´æ´¢¹ý³ÌÒªÖ´ÐеÄÈÎÎñ¡£
Èç¹û´æ´¢¹ý³Ì·µ»ØÒ»Ìõ¼Ç¼ÄÇôºó׺ÊÇ£ºSelect
Èç¹û´æ´¢¹ý³Ì²åÈëÊý¾ÝÄÇôºó׺ÊÇ£ºInsert
Èç¹û´æ´¢¹ý³Ì¸üÐÂÊý¾ÝÄÇôºó׺ÊÇ£ºUpdate
Èç¹û´æ´¢¹ý³ÌÓвåÈëºÍ¸üÐÂÄÇôºó׺ÊÇ£ºSave
Èç¹û´æ´¢¹ý³Ìɾ³ýÊý¾ÝÄÇôºó׺ÊÇ£ºDelete
Èç¹û´æ´¢¹ý³Ì¸üбíÖеÄÊý¾Ý (ie. drop and create) ÄÇôºó׺ÊÇ£ºCreat ......
1. ²é¿´Êý¾Ý¿âµÄ°æ±¾
select @@version
2. ²é¿´Êý¾Ý¿âËùÔÚ»úÆ÷²Ù×÷ϵͳ²ÎÊý
exec master..xp_msver
3. ²é¿´Êý¾Ý¿âÆô¶¯µÄ²ÎÊý
sp_configure
4. ²é¿´Êý¾Ý¿âÆô¶¯Ê±¼ä
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
²é¿´Êý¾Ý¿â·þÎñÆ÷ÃûºÍʵÀýÃû
print 'Server Name...............£º' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................£º' + convert(varchar(30),@@SERVICENAME)
5. ²é¿´ËùÓÐÊý¾Ý¿âÃû³Æ¼°´óС
sp_helpdb
ÖØÃüÃûÊý¾Ý¿âÓõÄSQL
sp_renamedb 'old_dbname', 'new_dbname'
6. ²é¿´ËùÓÐÊý¾Ý¿âÓû§µÇ¼ÐÅÏ¢ &nbs ......
Êý¾Ý¶¨ÒåÓïÑÔ£¨DDL£©<²Ù×÷±íµÄ½á¹¹>£ºcreate£¨ ´´½¨£©¡¢
alter£¨¸ü¸Ä£©¡¢
drop£¨É¾³ý£©
Êý¾Ý²Ù×ÝÓïÑÔ£¨DML£©<²Ù×÷±íµÄÊý¾Ý>£ºinsert£¨²åÈ룩¡¢select£¨Ñ¡Ôñ£©¡¢delete£¨É¾³ý£©¡¢update£¨¸üУ©
ÊÂÎñ¿ØÖÆÓïÑÔ£¨TCL£©£ºcommit £¨ Ìá½»£©¡¢savepoint£¨±£´æµã£©¡¢rollback£¨»Ø¹ö£©
Êý¾Ý¿ØÖÆÓïÑÔ£ºgrant£¨ÊÚÓ裩ºÍrevoke£¨»ØÊÕ£©¡£ÓëȨÏÞÓйØ
¾ÙÀý£º
1¡¢Êý¾Ý¶¨ÒåÓïÑÔDDL
SQL> create table myTable(no number(4),name varchar2(20)); // ´´½¨Ò»¸öÃûΪmyTableµÄ±í£¬°üº¬Á½ÁзֱðΪno ºÍname£¬ÆäÖÐnoΪÊý×Ö£¬nameΪ×Ö·û´®
SQL> alter table myTable modify (name varchar2(25)); //ÐÞ¸ÄmyTableÖеÄname ÁУ¬Ê¹´ËÁÐÄÜÈÝÄÉ25 ¸ö×Ö·û£»
SQL> alter table myTable add (tel_no varchar2(20)); //¸ø±ímyTab Ôö¼ÓÒ»ÁÐtel_no£»
SQL> alter table myTable drop column tel_no; //ɾ³ý±ímyTab µÄtel_no ÁÐ;
SQL> drop table myTable; //ɾ³ý±ímyTable£»
SQL> truncate table myTable; //ɾ³ý±ímyTableÖеÄËùÓÐÐУ¨½Ø¶Ï±í£©,×¢Òâ:´Ë²Ù×÷²»¿ÉÒÔrollback(»Ø¹ö)¡£
2¡¢Êý¾Ý²Ù×ÝÓïÑÔDML
SQL> insert into myTable values(‘001’,’ ......
Êý¾Ý¶¨ÒåÓïÑÔ£¨DDL£©<²Ù×÷±íµÄ½á¹¹>£ºcreate£¨ ´´½¨£©¡¢
alter£¨¸ü¸Ä£©¡¢
drop£¨É¾³ý£©
Êý¾Ý²Ù×ÝÓïÑÔ£¨DML£©<²Ù×÷±íµÄÊý¾Ý>£ºinsert£¨²åÈ룩¡¢select£¨Ñ¡Ôñ£©¡¢delete£¨É¾³ý£©¡¢update£¨¸üУ©
ÊÂÎñ¿ØÖÆÓïÑÔ£¨TCL£©£ºcommit £¨ Ìá½»£©¡¢savepoint£¨±£´æµã£©¡¢rollback£¨»Ø¹ö£©
Êý¾Ý¿ØÖÆÓïÑÔ£ºgrant£¨ÊÚÓ裩ºÍrevoke£¨»ØÊÕ£©¡£ÓëȨÏÞÓйØ
¾ÙÀý£º
1¡¢Êý¾Ý¶¨ÒåÓïÑÔDDL
SQL> create table myTable(no number(4),name varchar2(20)); // ´´½¨Ò»¸öÃûΪmyTableµÄ±í£¬°üº¬Á½ÁзֱðΪno ºÍname£¬ÆäÖÐnoΪÊý×Ö£¬nameΪ×Ö·û´®
SQL> alter table myTable modify (name varchar2(25)); //ÐÞ¸ÄmyTableÖеÄname ÁУ¬Ê¹´ËÁÐÄÜÈÝÄÉ25 ¸ö×Ö·û£»
SQL> alter table myTable add (tel_no varchar2(20)); //¸ø±ímyTab Ôö¼ÓÒ»ÁÐtel_no£»
SQL> alter table myTable drop column tel_no; //ɾ³ý±ímyTab µÄtel_no ÁÐ;
SQL> drop table myTable; //ɾ³ý±ímyTable£»
SQL> truncate table myTable; //ɾ³ý±ímyTableÖеÄËùÓÐÐУ¨½Ø¶Ï±í£©,×¢Òâ:´Ë²Ù×÷²»¿ÉÒÔrollback(»Ø¹ö)¡£
2¡¢Êý¾Ý²Ù×ÝÓïÑÔDML
SQL> insert into myTable values(‘001’,’ ......