Oracle Parameter
ÔÚʵ¼Ê¿ª·¢ÖУ¬¾³£»áÐèÒª¶ÔÊý¾Ý¿â½øÐзÃÎÊ£¬×î³£¼ûµÄ¿ª·¢·½·¨¾ÍÀàËÆ£º
¡¡¡¡string sql = "select * from table1 where name = '" + name + "'";
¡¡¡¡ÕâÖÖ·½Ê½Óб»×¢Èë¹¥»÷µÄΣÏÕ
¡¡¡¡ËùÒÔ½â¾ö·½°¸ÓÐ2ÖÖ£º
¡¡¡¡1¡¢¸Ä³É£ºstring sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // Ìæ»»Ò»¸öµ¥ÒýºÅΪÁ½¸öµ¥ÒýºÅ
¡¡¡¡2¡¢Ê¹ÓòÎÊý»¯ÐÎʽ£¬ÈçÔÚOracleÖУ¬ÓÃÈçÏ·½Ê½Ö´ÐУº
¡¡¡¡string sql = "select * from table1 where name = :vName";
¡¡¡¡OracleParameter para = new OracleParameter("vName", OracleType.VarChar);
¡¡¡¡para.Value = name;
¡¡¡¡OracleConnection con = new OracleConnection (constr);
¡¡¡¡con.Open();
¡¡¡¡OracleCommand com = con.CreateCommand();
¡¡¡¡com.CommandText = sql;
¡¡¡¡com.Parameters.Add(para);
¡¡¡¡com.ExecuteReader();
¡¡¡¡Èç´Ë¿´À´£¬Ê¹ÓòÎÊý»¯µÄÐÎʽ¸´ÔÓµÄÐí¶à£¬ÓÃÌæ»»µÄ·½Ê½¼òµ¥µÄ¶à
¡¡¡¡ËùÒÔÎÒÒ»Ö±ÒÔÀ´¶¼ÊÇÓÃÌæ»»µÄ·½Ê½À´´¦Àí£¬×òÌì·¢ÏÖÁËÓòÎÊýµÄÁíÒ»¸öºÃ´¦
¡¡¡¡²ÅÖªµÀ£¬Ê¹ÓòÎÊý»¯ÐÎʽ»¹¿ÉÒÔÌá¸ßOracleµÄÐÔÄÜ£¨²»ÖªµÀSqlServerÓÐûÓÐÀàËÆµÄºÃ´¦£©
¡¡¡¡Í¨¹ý·ÖÎöSQLÓï¾äµÄÖ´Ðмƻ®ÓÅ»¯SQL
¡¡¡¡¹²ÏísqlÓï¾ä
¡¡¡¡ÎªÁ˲»Öظ´½âÎöÏàͬµÄSQLÓï¾ä(ÒòΪ½âÎö²Ù×÷±È½Ï·Ñ×ÊÔ´£¬»áµ¼ÖÂÐÔÄÜϽµ)£¬ÔÚµÚÒ»´Î½âÎöÖ®ºó£¬ORACLE½«SQLÓï¾ä¼°½âÎöºóµÃµ½µÄÖ´Ðмƻ®´æ·ÅÔÚÄÚ´æÖС£Õâ¿éλÓÚϵͳȫ¾ÖÇøÓòSGA(system global area)µÄ¹²Ïí³Ø(shared buffer pool)ÖеÄÄÚ´æ¿ÉÒÔ±»ËùÓеÄÊý¾Ý¿âÓû§¹²Ïí¡£Òò´Ë£¬µ±ÄãÖ´ÐÐÒ»¸öSQLÓï¾ä(ÓÐʱ±»³ÆÎªÒ»¸öÓαê)ʱ£¬Èç¹û¸ÃÓï¾äºÍ֮ǰµÄÖ´ÐйýµÄijһÓï¾äÍêÈ«Ïàͬ£¬²¢ÇÒ֮ǰִÐеĸÃÓï¾äÓëÆäÖ´Ðмƻ®ÈÔÈ»ÔÚÄÚ´æÖдæÔÚ£¬ÔòORACLE¾Í²»ÐèÒªÔÙ½øÐзÖÎö£¬Ö±½ÓµÃµ½¸ÃÓï¾äµÄÖ´Ðз¾¶¡£ORACLEµÄÕâ¸ö¹¦ÄÜ´ó´óµØÌá¸ßÁËSQLµÄÖ´ÐÐÐÔÄܲ¢´ó´ó½ÚÊ¡ÁËÄÚ´æµÄʹÓá£Ê¹ÓÃÕâ¸ö¹¦ÄܵĹؼüÊǽ«Ö´ÐйýµÄÓï¾ä¾¡¿ÉÄܷŵ½ÄÚ´æÖУ¬ËùÒÔÕâÒªÇóÓдóµÄ¹²Ïí³Ø(ͨ¹ýÉèÖÃshared buffer pool²ÎÊýÖµ)ºÍ¾¡¿ÉÄܵÄʹÓð󶨱äÁ¿µÄ·½·¨Ö´ÐÐSQLÓï¾ä¡£
¡¡¡¡µ±ÄãÏòORACLE Ìá½»Ò»¸öSQLÓï¾ä£¬ORACLE»áÊ×ÏÈÔÚ¹²ÏíÄÚ´æÖвéÕÒÊÇ·ñÓÐÏàͬµÄÓï¾ä¡£ÕâÀïÐèҪעÃ÷µÄÊÇ£¬ORACLE¶ÔÁ½Õß²ÉÈ¡µÄÊÇÒ»ÖÖÑϸñÆ¥Å䣬Ҫ´ï³É¹²Ïí£¬SQLÓï¾ä±ØÐëÍêÈ«Ïàͬ(°üÀ¨¿Õ¸ñ,»»ÐеÈ)¡£
¡¡¡¡ÏÂÃæÊÇÅжÏSQLÓï¾äÊÇ·ñÓë¹²ÏíÄÚ´æÖÐijһSQLÏàͬµÄ²½Ö裺
¡¡¡¡1. ¶ÔËù·¢³öÓï¾äµÄÎı¾´®½øÐÐhashed¡£Èç¹ûhashÖµÓëÒÑÔÚ¹²Ïí³ØÖÐSQLÓï¾äµÄ
Ïà¹ØÎĵµ£º
ORACLEÊý¾Ý¿â¶ÔÏó
——ͬÒå´Ê¡¢ÐòÁС¢ÊÓͼ
ͬÒå´Ê£ºÍ¬Òå´ÊÊÇÏÖÓжÔÏóµÄ±ðÃû
¼ò»¯SQLÓï¾ä
Òþ²Ø¶ÔÏóµÄÃû³ÆºÍËùÓÐÕß
Ìṩ¶Ô¶ÔÏóµÄ¹«¹²·ÃÎÊ
ͬÒå´Ê·ÖΪ˽ÓÐͬÒå´ÊºÍ¹«ÓÐͬÒå´Ê
˽ÓÐͬÒå´ÊÖ»ÄÜÔÚÆäģʽÄÚ·ÃÎÊ£¬ÇÒ²»ÄÜÓ뵱ǰģʽµÄ¶ÔÏóͬÃû¡£
¹«ÓÐͬÒå´Ê¿É±»ËùÓеÄÊý¾Ý¿âÓû§·ÃÎÊ¡£
ÒÔ SYS ÓÃ ......
OleDbConnectioncon=newOleDbConnection(cnnstr);
try
{
con.Open();
}
catch
{}
OleDbCommandcmd=newOleDbCommand(strSQL,con);
System.Data.OleDb.OleDbDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
stringdd=dr["gggg"].ToString();
byte[]ooo=(byte[])dr["hhhh"];
stringstr;
str=Sys ......
alter system kill session'50,492';
--ÒÔϼ¸¸öΪÏà¹Ø±í
SELECT * from v$lock;
SELECT * from v$sqlarea;
SELECT * from v$session;
SELECT * from v$process ;
SELECT * from v$locked_object;
SELECT * from all_objects;
SELECT * from v$session_wait; ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ» ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯Ô ......