锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产日韩女人aaaaaa毛片在线,亚洲A∨无码一区二区三区,亚洲AV无码国产在丝袜线观看http://www.tkk7.com/masen/category/22361.htmlzh-cnSat, 27 Feb 2016 05:00:16 GMTSat, 27 Feb 2016 05:00:16 GMT60DBCP閰嶇疆(杞?http://www.tkk7.com/masen/articles/429456.htmlMasenMasenSat, 27 Feb 2016 03:06:00 GMThttp://www.tkk7.com/masen/articles/429456.htmlhttp://www.tkk7.com/masen/comments/429456.htmlhttp://www.tkk7.com/masen/articles/429456.html#Feedback0http://www.tkk7.com/masen/comments/commentRss/429456.htmlhttp://www.tkk7.com/masen/services/trackbacks/429456.html


DBCP榪炴帴姹犱粙緇?/h1>

-----------------------------

鐩墠 DBCP 鏈変袱涓増鏈垎鍒槸 1.3 鍜?1.4銆?/p>

DBCP 1.3 鐗堟湰闇瑕佽繍琛屼簬 JDK 1.4-1.5 錛屾敮鎸?JDBC 3銆?/p>

DBCP 1.4 鐗堟湰闇瑕佽繍琛屼簬 JDK 1.6 錛屾敮鎸?JDBC 4銆?/p>

1.3鍜?.4鍩轟簬鍚屼竴濂楁簮浠g爜錛屽惈鏈夋墍鏈夌殑bug淇鍜屾柊鐗規с傚洜姝ゅ湪閫夋嫨DBCP鐗堟湰鐨勬椂鍊欙紝瑕佺湅浣犵敤鐨勬槸浠涔圝DK鐗堟湰銆?/p>

DBCP1.2鐗堟湰鎬ц兘涓鑸紝姣攃3p0宸尯澶氥侱BCP1.4鍜?.3錛岄厤鍚堬紙渚濊禆錛塩ommons pool 1.6鐨刯ar鍖?鍚勬柟闈㈠姛鑳姐佹ц兘鎺ㄨ繘鍒版柊鐨勯珮宄般傜浉瀵?.2鐗堟湰鎻愰珮涓嶅皯銆傝秴瓚?鎴栫浉褰?浜哻3p0.寤鴻浣跨敤DBCP1.4鎴?.3 +  commons pool 1.6

 

Tomcat7 涓繚鐣橠BCP榪炴帴姹狅紝浠ュ吋瀹瑰凡鏈夊簲鐢ㄣ傚茍鎻愪緵浜嗘柊鐨凾omcat JDBC pool浣滀負DBCP鐨勫彲閫夋浛浠c傛柊鍑虹殑Tomcat JDBC pool錛屾嵁璇存瘮DBCP 1.4瑕佸ソ錛屾湭鎺ヨЕ錛屼篃涓嶅湪鏈枃璁ㄨ鑼冨洿鍐呫?/p>

 

DBCP榪炴帴姹犻厤緗弬鏁拌瑙?/h1>

-----------------------------

涓銆丄pache瀹樻柟DBCP鏂囨。緇欏嚭鐨勯厤緗ず渚嬶細

鍙弬瑙侊細http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html

<Context>

  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

               maxActive="100" maxIdle="30" maxWait="10000"

               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"

               url="jdbc:mysql://localhost:3306/javatest"/>

</Context>

 

tomcat JDBC榪炴帴姹犻厤緗ず渚嬶紝鑷姩媯鏌ヨ繛鎺ョ殑鍙敤鎬э紝dbcp瀹氭椂媯嫻嬭繛鎺ワ紝dbcp鑷姩閲嶈繛鐨勯厤緗?/strong>

Xml浠g爜  鏀惰棌浠g爜
  1. <Resource  
  2. name="jdbc/TestDB"  JNDI鏁版嵁婧愮殑name錛屾煡鎵炬椂鐢細java:comp/env/jdbc/TestDB  
  3. type="javax.sql.DataSource"  
  4. factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"  
  5. driverClassName="com.mysql.jdbc.Driver" JDBC椹卞姩綾?nbsp; 
  6. url="jdbc:mysql://localhost:3306/test?  
  7. characterEncoding=UTF-8&amp;autoReconnectForPools=true&amp;rewriteBatchedStatements=true&amp;useCursorFetch=true&amp;defaultFetchSize=20" 鏁版嵁搴揢RL鍦板潃    
  8. username="xxx" 璁塊棶鏁版嵁搴撶敤鎴峰悕  
  9. password="xxx" 璁塊棶鏁版嵁搴撶殑瀵嗙爜  
  10.    
  11. maxWait="3000" 浠庢睜涓彇榪炴帴鐨勬渶澶х瓑寰呮椂闂達紝鍗曚綅ms.  
  12. initialSize="10"  鍒濆鍖栬繛鎺?nbsp; 
  13. maxIdle="60"   鏈澶х┖闂茶繛鎺?nbsp; 
  14. minIdle="10"   鏈灝忕┖闂茶繛鎺?nbsp; 
  15. maxActive="80" 鏈澶ф椿鍔ㄨ繛鎺?nbsp; 
  16.    
  17. validationQuery = "SELECT 1"  楠岃瘉浣跨敤鐨凷QL璇彞  
  18. testWhileIdle = "true"      鎸囨槑榪炴帴鏄惁琚┖闂茶繛鎺ュ洖鏀跺櫒(濡傛灉鏈?榪涜媯楠?濡傛灉媯嫻嬪け璐?鍒欒繛鎺ュ皢琚粠姹犱腑鍘婚櫎.  
  19. testOnBorrow = "false"   鍊熷嚭榪炴帴鏃朵笉瑕佹祴璇曪紝鍚﹀垯寰堝獎鍝嶆ц兘  
  20. timeBetweenEvictionRunsMillis = "30000"  姣?0縐掕繍琛屼竴嬈$┖闂茶繛鎺ュ洖鏀跺櫒  
  21. minEvictableIdleTimeMillis = "1800000"  姹犱腑鐨勮繛鎺ョ┖闂?0鍒嗛挓鍚庤鍥炴敹  
  22. numTestsPerEvictionRun="10" 鍦ㄦ瘡嬈$┖闂茶繛鎺ュ洖鏀跺櫒綰跨▼(濡傛灉鏈?榪愯鏃舵鏌ョ殑榪炴帴鏁伴噺  
  23.       
  24. removeAbandoned="true"  榪炴帴娉勬紡鍥炴敹鍙傛暟錛屽綋鍙敤榪炴帴鏁板皯浜?涓椂鎵嶆墽琛?nbsp; 
  25. removeAbandonedTimeout="180"  榪炴帴娉勬紡鍥炴敹鍙傛暟錛?80縐掞紝娉勯湶鐨勮繛鎺ュ彲浠ヨ鍒犻櫎鐨勮秴鏃跺?nbsp; 
  26. />  

 

 

DBCP榪炴帴姹犵殑鑷垜媯嫻?/h1>

-----------------------------

榛樿閰嶇疆鐨凞BCP榪炴帴姹狅紝鏄笉瀵規睜涓殑榪炴帴鍋氭祴璇曠殑錛屾湁鏃惰繛鎺ュ凡鏂紑浜嗭紝浣咲BCP榪炴帴姹犱笉鐭ラ亾錛岃繕浠ヤ負榪炴帴鏄ソ鐨勫憿銆?/p>

搴旂敤浠庢睜涓彇鍑鴻繖鏍風殑榪炴帴璁塊棶鏁版嵁搴撲竴瀹氫細鎶ラ敊銆傝繖涔熸槸濂藉浜轟笉鍠滄DBCP鐨勫師鍥犮?/p>

 

闂渚嬩竴錛?/p>

MySQL8灝忔椂闂錛孧ysql鏈嶅姟鍣ㄩ粯璁よ繛鎺ョ殑“wait_timeout”鏄?灝忔椂錛屼篃灝辨槸璇翠竴涓猚onnection絀洪棽瓚呰繃8涓皬鏃訛紝Mysql灝嗚嚜鍔ㄦ柇寮璇?connection銆?/p>

浣嗘槸DBCP榪炴帴姹犲茍涓嶇煡閬撹繛鎺ュ凡緇忔柇寮浜嗭紝濡傛灉紼嬪簭姝e閥浣跨敤鍒拌繖涓凡緇忔柇寮鐨勮繛鎺ワ紝紼嬪簭灝變細鎶ラ敊璇?/p>

 

闂渚嬩簩錛?/p>

    浠ュ墠榪樹嬌鐢⊿ybase鏁版嵁搴擄紝鐢變簬鏌愮鍘熷洜錛屾暟鎹簱姝諱簡鍚庨噸鍚佹垨鏂綉鍚庢仮澶嶃?/p>

    絳変簡綰?0鍒嗛挓鍚庯紝DBCP榪炴帴姹犱腑鐨勮繛鎺ヨ繕閮芥槸涓嶈兘浣跨敤鐨勶紙鏂紑鐨勶級錛岃闂暟鎹簲鐢ㄤ竴鐩存姤閿欙紝鏈鍚庡彧鑳介噸鍚疶omcat闂鎵嶈В鍐?銆?/p>

 

瑙e喅鏂規錛?/p>

    鏂規1銆佸畾鏃跺榪炴帴鍋氭祴璇曪紝嫻嬭瘯澶辮觸灝卞叧闂繛鎺ャ?/p>

    鏂規2銆佹帶鍒惰繛鎺ョ殑絀洪棽鏃墮棿杈懼埌N鍒嗛挓錛屽氨鍏抽棴榪炴帴錛岋紙鐒跺悗鍙啀鏂板緩榪炴帴錛夈?/p>

    浠ヤ笂涓や釜鏂規浣跨敤浠繪剰涓涓氨鍙互瑙e喅浠ヨ堪涓ょ被闂銆傚鏋滃彧浣跨敤鏂規2錛屽緩璁?N <= 5鍒嗛挓銆傝繛鎺ユ柇寮鍚庢渶澶?鍒嗛挓鍚庡彲鎭㈠銆?/p>

    涔熷彲娣峰悎浣跨敤涓や釜鏂規錛屽緩璁?N = 30鍒嗛挓銆?/p>

    

    涓嬮潰灝辨槸DBCP榪炴帴姹狅紝鍚屾椂浣跨敤浜嗕互涓婁袱涓柟妗堢殑閰嶇疆閰嶇疆

    validationQuery = "SELECT 1"  楠岃瘉榪炴帴鏄惁鍙敤錛屼嬌鐢ㄧ殑SQL璇彞

    testWhileIdle = "true"      鎸囨槑榪炴帴鏄惁琚┖闂茶繛鎺ュ洖鏀跺櫒(濡傛灉鏈?榪涜媯楠?濡傛灉媯嫻嬪け璐?鍒欒繛鎺ュ皢琚粠姹犱腑鍘婚櫎.

    testOnBorrow = "false"   鍊熷嚭榪炴帴鏃朵笉瑕佹祴璇曪紝鍚﹀垯寰堝獎鍝嶆ц兘

    timeBetweenEvictionRunsMillis = "30000"  姣?0縐掕繍琛屼竴嬈$┖闂茶繛鎺ュ洖鏀跺櫒

    minEvictableIdleTimeMillis = "1800000"  姹犱腑鐨勮繛鎺ョ┖闂?0鍒嗛挓鍚庤鍥炴敹,榛樿鍊煎氨鏄?0鍒嗛挓銆?/p>

    numTestsPerEvictionRun="3" 鍦ㄦ瘡嬈$┖闂茶繛鎺ュ洖鏀跺櫒綰跨▼(濡傛灉鏈?榪愯鏃舵鏌ョ殑榪炴帴鏁伴噺錛岄粯璁ゅ煎氨鏄?.

    

    瑙i噴錛?/p>

    閰嶇疆timeBetweenEvictionRunsMillis = "30000"鍚庯紝姣?0縐掕繍琛屼竴嬈$┖闂茶繛鎺ュ洖鏀跺櫒錛堢嫭绔嬬嚎紼嬶級銆傚茍姣忔媯鏌?涓繛鎺ワ紝濡傛灉榪炴帴絀洪棽鏃墮棿瓚呰繃30鍒嗛挓灝遍攢姣併傞攢姣佽繛鎺ュ悗錛岃繛鎺ユ暟閲忓氨灝戜簡錛屽鏋滃皬浜巑inIdle鏁伴噺錛屽氨鏂板緩榪炴帴錛岀淮鎶ゆ暟閲忎笉灝戜簬minIdle錛岃繃琛屼簡鏂拌佹洿鏇褲?/p>

    testWhileIdle = "true" 琛ㄧず姣?0縐掞紝鍙栧嚭3鏉¤繛鎺ワ紝浣跨敤validationQuery = "SELECT 1" 涓殑SQL榪涜嫻嬭瘯 錛屾祴璇曚笉鎴愬姛灝遍攢姣佽繛鎺ャ傞攢姣佽繛鎺ュ悗錛岃繛鎺ユ暟閲忓氨灝戜簡錛屽鏋滃皬浜巑inIdle鏁伴噺錛屽氨鏂板緩榪炴帴銆?/p>

    testOnBorrow = "false" 涓瀹氳閰嶇疆錛屽洜涓哄畠鐨勯粯璁ゅ兼槸true銆俧alse琛ㄧず姣忔浠庤繛鎺ユ睜涓彇鍑鴻繛鎺ユ椂錛屼笉闇瑕佹墽琛寁alidationQuery = "SELECT 1" 涓殑SQL榪涜嫻嬭瘯銆傝嫢閰嶇疆涓簍rue,瀵規ц兘鏈夐潪甯稿ぇ鐨勫獎鍝嶏紝鎬ц兘浼氫笅闄?-10鍊嶃傛墍鍦ㄤ竴瀹氳閰嶇疆涓篺alse.

    姣?0縐掞紝鍙栧嚭numTestsPerEvictionRun鏉¤繛鎺ワ紙鏈緥鏄?錛屼篃鏄粯璁ゅ鹼級錛屽彂鍑?SELECT 1" SQL璇彞榪涜嫻嬭瘯 錛屾祴璇曡繃鐨勮繛鎺ヤ笉綆楁槸“琚嬌鐢?#8221;浜嗭紝榪樼畻鏄┖闂茬殑銆傝繛鎺ョ┖闂?0鍒嗛挓鍚庝細琚攢姣併?/p>

    

 

DBCP榪炴帴姹犻厤緗弬鏁版敞鎰忎簨欏? 

-----------------------------

maxIdle鍊間笌maxActive鍊煎簲閰嶇疆鐨勬帴榪戙?/p>

鍥犱負錛屽綋榪炴帴鏁拌秴榪噈axIdle鍊煎悗錛屽垰鍒氫嬌鐢ㄥ畬鐨勮繛鎺ワ紙鍒氬垰絀洪棽涓嬫潵錛変細绔嬪嵆琚攢姣併傝屼笉鏄垜鎯寵鐨勭┖闂睲縐掑悗鍐嶉攢姣佽搗涓涓紦鍐蹭綔鐢ㄣ傝繖涓鐐笵BCP鍋氱殑鍙兘涓庝綘鎯沖儚鐨勪笉涓鏍楓?/p>

鑻axIdle涓巑axActive鐩稿樊杈冨ぇ錛屽湪楂樿礋杞界殑緋葷粺涓細瀵艱嚧棰戠箒鐨勫垱寤恒侀攢姣佽繛鎺ワ紝榪炴帴鏁板湪maxIdle涓巑axActive闂村揩閫熼綣佹嘗鍔紝榪欎笉鏄垜鎯寵鐨勩?/p>

楂樿礋杞界郴緇熺殑maxIdle鍊煎彲浠ヨ緗負涓巑axActive鐩稿悓鎴栬緗負-1(-1琛ㄧず涓嶉檺鍒?錛岃榪炴帴鏁伴噺鍦╩inIdle涓巑axIdle闂寸紦鍐叉參閫熸嘗鍔ㄣ?/p>

 

timeBetweenEvictionRunsMillis寤鴻璁劇疆鍊?/p>

initialSize="5"錛屼細鍦╰omcat涓鍚姩鏃訛紝鍒涘緩5鏉¤繛鎺ワ紝鏁堟灉寰堢悊鎯熾?/p>

浣嗗悓鏃舵垜浠繕閰嶇疆浜唌inIdle="10"錛屼篃灝辨槸璇達紝鏈灝戣淇濇寔10鏉¤繛鎺ワ紝閭g幇鍦ㄥ彧鏈?鏉¤繛鎺ワ紝鍝粈涔堟椂鍊欏啀鍒涘緩灝戠殑5鏉¤繛鎺ュ憿錛?/p>

1銆佺瓑涓氬姟鍘嬪姏涓婃潵浜嗭紝 DBCP灝變細鍒涘緩鏂扮殑榪炴帴銆?/p>

2銆侀厤緗畉imeBetweenEvictionRunsMillis=“鏃墮棿”,DBCP浼氬惎鐢ㄧ嫭绔嬬殑宸ヤ綔綰跨▼瀹氭椂媯鏌ワ紝琛ヤ笂灝戠殑5鏉¤繛鎺ャ傞攢姣佸浣欑殑榪炴帴涔熸槸鍚岀悊銆?/p>

 

榪炴帴閿姣佺殑閫昏緫

------------------------------

DBCP鐨勮繛鎺ユ暟浼氬湪  0 - minIdle - maxIdle - maxActive  涔嬮棿鍙樺寲銆傚彉鍖栫殑閫昏緫鎻忚堪濡備笅錛?/p>

 

榛樿鏈厤緗甶nitialSize(榛樿鍊兼槸0)鍜宼imeBetweenEvictionRunsMillis鍙傛暟鏃訛紝鍒氬惎鍔╰omcat鏃訛紝榪炴帴鏁版槸0銆傚綋搴旂敤鏈変竴涓茍鍙戣闂暟鎹簱鏃禗BCP鍒涘緩涓涓繛鎺ャ?/p>

鐩墠榪炴帴鏁伴噺榪樻湭杈懼埌minIdle錛屼絾DBCP涔熶笉鑷姩鍒涘緩鏂拌繛鎺ュ凡浣挎暟閲忚揪鍒癿inIdle鏁伴噺錛堟病鏈変竴涓嫭绔嬬殑宸ヤ綔綰跨▼鏉ユ鏌ュ拰鍒涘緩錛夈?/p>

闅忕潃搴旂敤騫跺彂璁塊棶鏁版嵁搴撶殑澧炲錛岃繛鎺ユ暟涔熷澶氾紝浣嗛兘涓巑inIdle鍊兼棤鍏籌紝寰堝揩minIdle琚秴瓚婏紝minIdle鍊間竴鐐圭敤閮芥病鏈夈?/p>

鐩村埌榪炴帴鐨勬暟閲忚揪鍒癿axIdle鍊鹼紝榪欐椂鐨勮繛鎺ラ兘鏄彧澧炰笉鍑忕殑銆?鍐嶇戶緇彂灞曪紝榪炴帴鏁板啀澧炲騫惰秴榪噈axIdle鏃訛紝浣跨敤瀹岀殑榪炴帴錛堝垰鍒氱┖闂蹭笅鏉ョ殑錛変細绔嬪嵆鍏抽棴錛屾諱綋榪炴帴鐨勬暟閲忕ǔ瀹氬湪maxIdle浣嗕笉浼氳秴榪噈axIdle銆?/p>

浣嗘椿鍔ㄨ繛鎺ワ紙鍦ㄤ嬌鐢ㄤ腑鐨勮繛鎺ワ級鍙兘鏁伴噺涓婄灛闂磋秴榪噈axIdle錛屼絾姘歌繙涓嶄細瓚呰繃maxActive銆?/p>

榪欐椂濡傛灉搴旂敤涓氬姟鍘嬪姏灝忎簡錛岃闂暟鎹簱鐨勫茍鍙戝皯浜嗭紝榪炴帴鏁頒篃涓嶄細鍑忓皯錛堟病鏈変竴涓嫭绔嬬殑綰跨▼鏉ユ鏌ュ拰閿姣侊級錛屽皢淇濇寔鍦╩axIdle鐨勬暟閲忋?/p>

 

榛樿鏈厤緗甶nitialSize(榛樿鍊兼槸0)錛屼絾閰嶇疆浜唗imeBetweenEvictionRunsMillis=“30000”錛?0縐掞級鍙傛暟鏃訛紝鍒氬惎鍔╰omcat鏃訛紝榪炴帴鏁版槸0銆傞┈涓婂簲鐢ㄦ湁涓涓茍鍙戣闂暟鎹簱鏃禗BCP鍒涘緩涓涓繛鎺ャ?/p>

鐩墠榪炴帴鏁伴噺榪樻湭杈懼埌minIdle錛屾瘡30縐扗BCP鐨勫伐浣滅嚎紼嬫鏌ヨ繛鎺ユ暟鏄惁灝戜簬minIdle鏁伴噺錛岃嫢灝戜簬灝卞垱寤烘柊榪炴帴鐩村埌杈懼埌minIdle鏁伴噺銆?/p>

闅忕潃搴旂敤騫跺彂璁塊棶鏁版嵁搴撶殑澧炲錛岃繛鎺ユ暟涔熷澶氾紝鐩村埌杈懼埌maxIdle鍊箋傝繖鏈熼棿姣?0縐扗BCP鐨勫伐浣滅嚎紼嬫鏌ヨ繛鎺ユ槸鍚︾┖闂蹭簡30鍒嗛挓錛岃嫢鏄氨閿姣併備絾姝ゆ椂鏄笟鍔$殑楂樺嘲鏈燂紝鏄笉浼氭湁闀胯揪30鍒嗛挓鐨勭┖闂茶繛鎺ョ殑錛屽伐浣滅嚎紼嬫煡浜嗕篃鏄櫧鏌ワ紝浣嗗畠鍦ㄥ伐浣溿傚埌榪欓噷榪炴帴鏁伴噺涓鐩存槸鍛堢幇澧為暱鐨勮秼鍔褲?/p>

褰撹繛鎺ユ暟鍐嶅澶氳秴榪噈axIdle鏃訛紝浣跨敤瀹岀殑榪炴帴(鍒氬垰絀洪棽涓嬫潵)浼氱珛鍗沖叧闂紝鎬諱綋榪炴帴鐨勬暟閲忕ǔ瀹氬湪maxIdle銆傚仠姝簡澧為暱鐨勮秼鍔褲備絾媧誨姩榪炴帴錛堝湪浣跨敤涓殑榪炴帴錛夊彲鑳芥暟閲忎笂鐬棿瓚呰繃maxIdle錛屼絾姘歌繙涓嶄細瓚呰繃maxActive銆?/p>

榪欐椂濡傛灉搴旂敤涓氬姟鍘嬪姏灝忎簡錛岃闂暟鎹簱鐨勫茍鍙戝皯浜嗭紝姣?0縐扗BCP鐨勫伐浣滅嚎紼嬫鏌ヨ繛鎺?榛樿姣忔鏌?鏉?鏄惁絀洪棽杈懼埌30鍒嗛挓(榪欐槸榛樿鍊?錛岃嫢榪炴帴絀洪棽杈懼埌30鍒嗛挓錛屽氨閿姣佽繛鎺ャ傝繖鏃惰繛鎺ユ暟鍑忓皯浜嗭紝鍛堜笅闄嶈秼鍔匡紝灝嗕粠maxIdle璧板悜minIdle銆傚綋灝忎簬minIdle鍊兼椂錛屽垯DBCP鍒涘緩鏂拌繛鎺ュ凡浣挎暟閲忕ǔ瀹氬湪minIdle錛屽茍榪涜鐫鏂拌佹洿鏇褲?/p>

 

閰嶇疆initialSize=“10”鏃訛紝tomcat涓鍚姩灝卞垱寤?0鏉¤繛鎺ャ傚叾瀹冨悓涓娿?/p>

 

minIdle瑕佷笌timeBetweenEvictionRunsMillis閰嶅悎浣跨敤鎵嶆湁鐢?鍗曠嫭浣跨敤minIdle涓嶄細璧蜂綔鐢ㄣ?/p>

 

 

Tomcat涓厤緗瓺BCP榪炴帴姹?/h1>

-----------------------------

Tomcat鑷甫DBCP鐨勫寘錛屾槸$CATALINA_HOME/lib/tomcat-dbcp.jar銆?/p>

tomcat-dbcp.jar鍚湁commons pool銆乧ommons DBCP涓や釜鍖呯殑鍐呭銆備絾鍙惈鏈変笌榪炴帴姹犳湁鍏崇殑綾匯?/p>

鏁版嵁婧愰厤緗湪context.xml鏂囦歡涓紝 瑕佸湪tomcat鐨刲ib鐩綍涓斁jdbc 椹卞姩鍖?/p>

鏁版嵁婧愰厤緗湪server.xml鐨刪ost涓紝涓嶉渶瑕佸湪tomcat鐨刲ib鐩綍涓斁jdbc 椹卞姩鍖咃紝鍙嬌鐢ㄥ伐紼嬩腑鐨刯dbc椹卞姩鍖?/p>

 

 

JNDI閰嶇疆:鏇存敼tomcat鐨剆erver.xml鎴朿ontext.xml

 

    鍏ㄥ眬鐨勬暟鎹簮錛?/p>

    濡傛灉闇瑕侀厤緗叏灞鐨?Resource錛屽垯鍦╯erver.xml鐨凣lobalNamingResources鑺傜偣閲屽姞鍏esource錛屽啀鍦–ontext鑺傜偣閲屽姞鍏esourceLink鐨勯厤緗?/p>

    鍏ㄥ眬鐨剅esource鍙槸涓轟簡閲嶇敤錛屾柟渚挎墍鏈夎tomcat涓嬬殑web宸ョ▼鐨勬暟鎹簮綆$悊錛屼絾濡傛灉浣犵殑tomcat涓嶄細鍚屾椂鍔犺澆澶氫釜web宸ョ▼錛屼篃灝辨槸璇翠竴涓猼omcat鍙姞杞戒竴涓獁eb宸ョ▼鏃訛紝鏄病鏈夊繀瑕侀厤緗叏灞鐨剅esource鐨勩?/p>

 

姣忎釜web宸ョ▼涓涓暟鎹簮錛?/p>

鍦?CATALINA_HOME/conf/context.xml鐨勬牴鑺傜偣Context閲屽姞鍏esource閰嶇疆銆傝繖縐嶉厤緗柟娉曪紝浣犲湪context.xml閰嶇疆浜嗕竴涓暟鎹簮錛屼絾Tomcat涓湁鍚屾椂榪愯鐫5涓伐紼嬶紝閭d簡灝卞潖浜嬪効浜嗭紝榪欎釜鍦═omcat鍚姩鏃舵暟鎹簮琚垱寤轟簡5浠斤紝姣忎釜宸ョ▼1浠芥暟鎹簮銆傝繛鎺ユ暟浼氭槸浣犻厤緗殑鍙傛暟鐨?鍊嶃?/p>

鍙湁鍦ㄤ綘鐨凾omcat鍙姞杞戒竴涓獁eb宸ョ▼鏃?鎵嶅彲浠ョ洿鎺ヤ互context.xml閰嶇疆鏁版嵁婧愩?/p>

 

<Resource name="jdbc/testDB"       //鎸囧畾鐨刯ndi鍚嶇О錛屼細鐢ㄤ簬spring鏁版嵁婧恇ean鐨勯厤緗拰ResourceLink鐨勯厤緗?/p>

               type="javax.sql.DataSource"   //鏁版嵁婧愮被鍨嬶紝浣跨敤鏍囧噯鐨刯avax.sql.DataSource

               driverClassName="com.mysql.jdbc.Driver"    //JDBC椹卞姩鍣?nbsp;

               url="jdbc:mysql://localhost:3306/test" //鏁版嵁搴揢RL鍦板潃             

               username="test"     //鏁版嵁搴撶敤鎴峰悕

               password="test"   //鏁版嵁搴撳瘑鐮?/p>

               maxIdle="40"   //鏈澶х殑絀洪棽榪炴帴鏁?/p>

               maxWait="4000" //褰撴睜鐨勬暟鎹簱榪炴帴宸茬粡琚崰鐢ㄧ殑鏃跺欙紝鏈澶х瓑寰呮椂闂?/p>

               maxActive="40" //榪炴帴姹犲綋涓渶澶х殑鏁版嵁搴撹繛鎺?/p>

               removeAbandoned="true" 

               removeAbandonedTimeout="180"

               logAbandoned="true" //琚涪寮冪殑鏁版嵁搴撹繛鎺ユ槸鍚﹀仛璁板綍錛屼互渚胯窡韙?/p>

               factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />

 

      榪欓噷鐨刦actory鎸囩殑鏄Resource 閰嶇疆浣跨敤鐨勬槸鍝釜鏁版嵁婧愰厤緗被錛岃繖閲屼嬌鐢ㄧ殑鏄痶omcat鑷甫鐨勬爣鍑嗘暟鎹簮Resource閰嶇疆綾伙紝榪欎釜綾諱篃鍙互鑷繁鍐欙紝瀹炵幇javax.naming.spi.ObjectFactory 鎺ュ彛鍗沖彲銆傛煇浜涘湴鏂逛嬌鐢ㄧ殑commons-dbcp.jar涓殑org.apache.commons.dbcp.BasicDataSourceFactory錛屽鏋滀嬌鐢ㄨ繖涓氨闇鎶奵ommons-dbcp.jar鍙婂叾渚濊禆鐨刯ar鍖咃紝閮芥斁鍦╰omcat鐨刲ib涓嬶紝鍏夋斁鍦ㄥ伐紼嬬殑WEB-INF/lib涓嬫槸涓嶅鐨勩?/p>

 

     ResourceLink 鐨勯厤緗湁澶氱錛?/p>

 

     1)tomcat瀹夎鐩綍涓嬬殑conf/context.xml錛屾妸鍏ㄥ眬鐨剅esource鐩存帴鍏紑緇欒tomcat涓嬬殑鎵鏈墂eb宸ョ▼錛屽湪Context鑺傜偣涓姞鍏ワ細

<ResourceLink global="jdbc/testMDB" name="jdbc/testMDB" type="javax.sql.DataSource"/>   

涓嶅緩璁湪姝ゆ枃浠朵腑錛屼笉浣跨敤<ResourceLink/>錛岃屼嬌鐢?lt;Resource/>鐩存帴閰嶇疆鏁版嵁婧愶紝鍘熷洜涓婇潰宸茶鏄庝簡銆?  

 

     2)tomcat瀹夎鐩綍涓嬬殑conf/server.xml錛岃鏂規硶鍙互鎸囧畾鎶婂摢浜泂ource緇戝畾鍒板摢涓獁eb宸ョ▼涓嬨?/p>

<!-- 鏂板錛岀涓琛屼負鍔犺澆鐨勫伐紼嬮厤緗紝絎簩琛屾槸璇ュ伐紼嬮渶瑕佺殑ResourceLink閰嶇疆 -->

<context docBase="/web/webapps/phoenix" path="" reloadable="false"> 

      <ResourceLink global="jdbc/testMDB" name="jdbc/testMDB" type="javax.sql.DataSource"/>

</context>

涔熷彲鍦ㄦ鏂囦歡涓紝涓嶄嬌鐢?lt;ResourceLink/>錛岃屼嬌鐢?lt;Resource/>鐩存帴閰嶇疆鏁版嵁婧愩?/p>

 

     3)瀹夎鐩綍涓嬬殑conf/localhost/涓嬪緩绔嬩竴涓獂ml鏂囦歡錛屾枃浠跺悕鏄?lt;yourAppName>.xml銆傛瘮濡傚伐紼嬪悕涓簍est錛屽垯璇ml鍚嶄負test.xml銆?/p>

<?xml version="1.0" encoding="UTF-8"?>

<Context>   

    <ResourceLink global="jdbc/testMDB" name="jdbc/testMDB" type="javax.sql.DataSource"/>       

</context>

涔熷彲鍦ㄦ鏂囦歡涓紝涓嶄嬌鐢?lt;ResourceLink/>錛岃屼嬌鐢?lt;Resource/>鐩存帴閰嶇疆鏁版嵁婧愩?/p>

 

     4)tomcat瀹夎鐩綍涓嬬殑\webapps\test\META-INF\context.xml鐨凜ontext鑺傜偣涓鍔?

<ResourceLink global="jdbc/testMDB" name="jdbc/testMDB" type="javax.sql.DataSource"/>

涔熷彲鍦ㄦ鏂囦歡涓紝涓嶄嬌鐢?lt;ResourceLink/>錛岃屼嬌鐢?lt;Resource/>鐩存帴閰嶇疆鏁版嵁婧愩?/p>

 

 

鏈枃鍐呭閮藉湪tomcat6.0涓婅繍琛屾祴璇曡繃錛岃繕涓嬭澆浜哻ommons DBCP鐨勬簮鐮侊紝鍔犲叆浜嗚窡韙棩蹇楋紝鐢ㄤ簬楠岃瘉鏈枃鐨勭悊璁恒?/p>

 

榪炴帴姹犳帓鍚嶏紙綰釜浜虹湅娉曪級

-----------------------------

Tomcat JDBC pool

DBCP 1.4

c3p0   閫熷害涓嶉敊

BoneCP 閫熷害涓嶉敊錛屼絾浼氬惎鐢ㄥ緢澶氶檮鍔犵嚎紼嬪仛鍥炴敹銆佸叧闂伐浣溿?/p>

Proxool 鍦ㄩ珮騫跺彂鏃跺嚭鐜板紓甯?/p>

DBCP 1.2

DBPool 鏈宸紝鍨簳銆?/p>

鍙傝冩枃妗c奐ava榪炴帴姹犺瘎浼版姤鍛娿?/p>

 



Masen 2016-02-27 11:06 鍙戣〃璇勮
]]>
mysql闃叉閲嶅鎻掑叆璁板綍鏂規硶鎬葷粨 錛堣漿錛?/title><link>http://www.tkk7.com/masen/articles/424345.html</link><dc:creator>Masen</dc:creator><author>Masen</author><pubDate>Sun, 12 Apr 2015 11:34:00 GMT</pubDate><guid>http://www.tkk7.com/masen/articles/424345.html</guid><wfw:comment>http://www.tkk7.com/masen/comments/424345.html</wfw:comment><comments>http://www.tkk7.com/masen/articles/424345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/masen/comments/commentRss/424345.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/masen/services/trackbacks/424345.html</trackback:ping><description><![CDATA[<div style="list-style: none; margin: 0px; color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px;">闃叉mysql閲嶅鎻掑叆璁板綍鐨勬柟娉曟湁寰堝縐嶏紝甯哥敤鐨勬槸ignore,Replace,ON DUPLICATE KEY UPDATE,褰撶劧鎴戜滑涔熷彲浠ュ湪php涓姞浠ュ垽鏂簡銆?/div><div style="list-style: none; margin: 0px; padding-top: 20px; padding-bottom: 20px; height: auto; overflow: hidden; color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px;"><span style="font-size: 14.3999996185303px;">鏂規涓錛氫嬌鐢╥gnore鍏抽敭瀛?/span></div><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">濡傛灉鏄敤涓婚敭primary鎴栬呭敮涓绱㈠紩unique鍖哄垎浜嗚褰曠殑鍞竴鎬?閬垮厤閲嶅鎻掑叆璁板綍鍙互浣跨敤錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy5733" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"> INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999'); <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"> <br />榪欐牱褰撴湁閲嶅璁板綍灝變細蹇界暐,鎵ц鍚庤繑鍥炴暟瀛?</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />榪樻湁涓簲鐢ㄥ氨鏄鍒惰〃,閬垮厤閲嶅璁板綍錛?nbsp;<br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy8362" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"> INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`; <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"> <br />鏂規浜岋細浣跨敤Replace</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />璇硶鏍煎紡錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy3733" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;">REPLACE INTO `table_name`(`col_name`, ...) VALUES (...);<br />REPLACE INTO `table_name` (`col_name`, ...) SELECT ...;<br />REPLACE INTO `table_name` SET `col_name`='value',</p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">...綆楁硶璇存槑錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">REPLACE鐨勮繍琛屼笌INSERT寰堢浉鍍?浣嗘槸濡傛灉鏃ц褰曚笌鏂拌褰曟湁鐩稿悓鐨勫鹼紝鍒欏湪鏂拌褰曡鎻掑叆涔嬪墠錛屾棫璁板綍琚垹闄わ紝鍗籌細</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />灝濊瘯鎶婃柊琛屾彃鍏ュ埌琛ㄤ腑</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">褰撳洜涓哄浜庝富閿垨鍞竴鍏抽敭瀛楀嚭鐜伴噸澶嶅叧閿瓧閿欒鑰岄犳垚鎻掑叆澶辮觸鏃訛細 <br />浠庤〃涓垹闄ゅ惈鏈夐噸澶嶅叧閿瓧鍊肩殑鍐茬獊琛?nbsp;<br />鍐嶆灝濊瘯鎶婃柊琛屾彃鍏ュ埌琛ㄤ腑 <br />鏃ц褰曚笌鏂拌褰曟湁鐩稿悓鐨勫肩殑鍒ゆ柇鏍囧噯灝辨槸錛?br />琛ㄦ湁涓涓狿RIMARY KEY鎴朥NIQUE绱㈠紩錛屽惁鍒欙紝浣跨敤涓涓猂EPLACE璇彞娌℃湁鎰忎箟銆傝璇彞浼氫笌INSERT鐩稿悓錛屽洜涓烘病鏈夌儲寮曡鐢ㄤ簬紜畾鏄惁鏂拌澶嶅埗浜嗗叾瀹冪殑琛屻?nbsp;<br />榪斿洖鍊鹼細<br />REPLACE璇彞浼氳繑鍥炰竴涓暟錛屾潵鎸囩ず鍙楀獎鍝嶇殑琛岀殑鏁扮洰銆傝鏁版槸琚垹闄ゅ拰琚彃鍏ョ殑琛屾暟鐨勫拰<br />鍙楀獎鍝嶇殑琛屾暟鍙互瀹規槗鍦扮‘瀹氭槸鍚EPLACE鍙坊鍔犱簡涓琛岋紝鎴栬呮槸鍚EPLACE涔熸浛鎹簡鍏跺畠琛岋細媯鏌ヨ鏁版槸鍚︿負1錛堟坊鍔狅級鎴栨洿澶э紙鏇挎崲錛夈?nbsp;<br />紺轟緥:<br /># eg:(phone瀛楁涓哄敮涓绱㈠紩)</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy3906" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;">REPLACE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test569', '99999', '123');</p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">鍙﹀,鍦?SQL Server 涓彲浠ヨ繖鏍峰鐞嗭細</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy6648" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;">if not exists (<a target="_blank" style="font-size: 15px; color: #2d64b3;">select</a> phone from t where phone= '1')   insert into t(phone, update_time) values('1', getdate()) else    update t set update_time = getdate() where phone= '1'</p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><strong>鏂規涓夛細ON DUPLICATE KEY UPDATE</strong></p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />濡?#8205;涓婃墍鍐欙紝浣犱篃鍙互鍦↖NSERT INTO…..鍚庨潰鍔犱笂 ON DUPLICATE KEY UPDATE鏂規硶鏉ュ疄鐜般傚鏋滄偍鎸囧畾浜哋N DUPLICATE KEY UPDATE錛屽茍涓旀彃鍏ヨ鍚庝細瀵艱嚧鍦ㄤ竴涓猆NIQUE绱㈠紩鎴朠RIMARY KEY涓嚭鐜伴噸澶嶅鹼紝鍒欐墽琛屾棫琛孶PDATE銆?nbsp;<br />渚嬪錛屽鏋滃垪a琚畾涔変負UNIQUE錛屽茍涓斿寘鍚?錛屽垯浠ヤ笅涓や釜璇彞鍏鋒湁鐩稿悓鐨勬晥鏋滐細</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy1862" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"> <br />INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE `c`=`c`+1; <br />UPDATE `table` SET `c`=`c`+1 WHERE `a`=1;</td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">濡傛灉琛屼綔涓烘柊璁板綍琚彃鍏ワ紝鍒欏彈褰卞搷琛岀殑鍊間負1錛涘鏋滃師鏈夌殑璁板綍琚洿鏂幫紝鍒欏彈褰卞搷琛岀殑鍊間負2銆?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />娉ㄩ噴錛氬鏋滃垪b涔熸槸鍞竴鍒楋紝鍒橧NSERT涓庢UPDATE璇彞鐩稿綋錛?nbsp;<br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy6940" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">UPDATE `table` SET `c`=`c`+1 WHERE `a`=1 OR `b`=2 LIMIT 1;</td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">濡傛灉a=1 OR b=2涓庡涓鍚戝尮閰嶏紝鍒欏彧鏈変竴涓琚洿鏂般傞氬父錛屾偍搴旇灝介噺閬垮厤瀵瑰甫鏈夊涓敮涓鍏抽敭瀛楃殑琛ㄤ嬌鐢∣N DUPLICATE KEY瀛愬彞銆?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />鎮ㄥ彲浠ュ湪UPDATE瀛愬彞涓嬌鐢╒ALUES(col_name)鍑芥暟浠嶪NSERT…UPDATE璇彞鐨処NSERT閮ㄥ垎寮曠敤鍒楀箋傛崲鍙ヨ瘽璇達紝濡傛灉娌℃湁鍙戠敓閲嶅鍏抽敭瀛楀啿紿侊紝鍒橴PDATE瀛愬彞涓殑VALUES(col_name)鍙互寮曠敤琚彃鍏ョ殑col_name鐨勫箋傛湰鍑芥暟鐗瑰埆閫傜敤浜庡琛屾彃鍏ャ俈ALUES()鍑芥暟鍙湪INSERT…UPDATE璇彞涓湁鎰忎箟錛屽叾瀹冩椂鍊欎細榪斿洖NULL銆?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy1005" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3), (4, 5, 6) ON DUPLICATE KEY UPDATE `c`=VALUES(`a`)+VALUES(`b`);</td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">鏈鍙ヤ笌浠ヤ笅涓や釜璇彞浣滅敤鐩稿悓錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy5394" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE `c`=3; <br />INSERT INTO `table` (`a`, `b`, `c`) VALUES (4, 5, 6) ON DUPLICATE KEY UPDATE c=9;</td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">娉ㄩ噴錛氬綋鎮ㄤ嬌鐢∣N DUPLICATE KEY UPDATE鏃訛紝DELAYED閫夐」琚拷鐣ャ?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />紺轟緥錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">榪欎釜渚嬪瓙鏄垜鍦ㄥ疄闄呴」鐩腑鐢ㄥ埌鐨勶細鏄皢涓涓〃鐨勬暟鎹鍏ュ埌鍙﹀涓涓〃涓紝鏁版嵁鐨勯噸澶嶆у氨寰楄冭檻(濡備笅)錛屽敮涓绱㈠紩涓猴細email錛?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy7574" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;">INSERT INTO `table_name1` (`title`, `first_name`, `last_name`, `email`, `phone`, `user_id`, `role_id`, `status`, `campaign_id`) <br />    SELECT '', '', '', `table_name2`.`email`, `table_name2`.`phone`, NULL, NULL, 'pending', 29 FROM `table_name2` <br />    WHERE `table_name2`.`status` = 1 <br />ON DUPLICATE KEY UPDATE `table_name1`.`status`='pending'</p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">鍐嶈創涓涓緥瀛愶細</p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br />浠g爜濡備笅:</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy6609" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;"> INSERT INTO `class` SELECT * FROM `class1` ON DUPLICATE KEY UPDATE `class`.`course`=`class1`.`course`</p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">鍏跺畠鍏抽敭錛欴ELAYED  鍋氫負蹇熸彃鍏ワ紝騫朵笉鏄緢鍏沖績澶辨晥鎬э紝鎻愰珮鎻掑叆鎬ц兘銆?nbsp;<br />IGNORE  鍙叧娉ㄤ富閿搴旇褰曟槸涓嶅瓨鍦紝鏃犲垯娣誨姞錛屾湁鍒欏拷鐣ャ?/p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">php闃叉閲嶅鎻掑叆璁板綍瀹炰緥</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy9542" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;"><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; word-wrap: break-word;"><br /><?php <br />$link=mysql_connect(‘localhost’,’root’,’1234’); //寰楀埌MySQL<a target="_blank" style="font-size: 15px; color: #2d64b3;">鏁版嵁搴?/a>榪炴帴 <br />$username=$_GET["name"]; //寰楀埌浠庡鎴風琛ㄥ崟浼犺繃鏉ョ殑鏁版嵁 <br />$q="select * from usertable where user_name='$username'"; <br />mysql_query("SET NAMES gb2312"); //閬垮厤鍑虹幇涓枃涔辯爜 <br />$rs = mysql_query($q, $link); //鏌ヨ<a target="_blank" style="font-size: 15px; color: #2d64b3;">鏁版嵁搴?/a> <br />$num_rows = mysql_num_rows($rs); //寰楀埌鏌ヨ緇撴灉鐨勬昏鏁?nbsp;<br />if($num_rows==0) <br />// 鐑堢伀? liehuo.net 嬈㈣繋澶嶅埗,鎷掔粷鎭舵剰閲囬泦 锝岋綁锝咃綀锝曪綇錛庯綆锝咃綌 <br />{ <br />$exec="insert into student (user_name) values ($username)"; <br />mysql_query("SET NAMES gb2312"); <br />mysql_query($exec, $link); //鑻ユ病鏈夋鐢ㄦ埛鍒欏皢鏁版嵁鎻掑叆鍒版暟鎹簱(娉ㄥ唽鐢ㄦ埛) <br />echo "鐢ㄦ埛娉ㄥ唽鎴愬姛錛?; <br />} <br />else <br />{ <br />echo "璇ョ敤鎴峰悕宸插瓨鍦紝璇烽噸鏂伴夋嫨鐢ㄦ埛鍚嶏紒"; <br />} <br />?></p></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;"><br /><strong>闄勪竴浜涘垹闄ら噸澶嶈褰曠殑鏂規硶</strong></p><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">鏌ヨ鍙婂垹闄ら噸澶嶈褰曠殑SQL璇彞 <br />1銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛岄噸澶嶈褰曟槸鏍規嵁鍗曚釜瀛楁錛坧eopleId錛夋潵鍒ゆ柇</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy3864" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">select * from people <br />where peopleId in (select peopleId from people <a target="_blank" style="font-size: 15px; color: #2d64b3;">group by</a> peopleId having count(peopleId) > 1) <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">2銆佸垹闄よ〃涓浣欑殑閲嶅璁板綍錛岄噸澶嶈褰曟槸鏍規嵁鍗曚釜瀛楁錛坧eopleId錛夋潵鍒ゆ柇錛屽彧鐣欐湁rowid鏈灝忕殑璁板綍</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy6248" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">delete from people <br />where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) <br />and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1) <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">3銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy9394" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">select * from vitae a <br />where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">4銆佸垹闄よ〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級錛屽彧鐣欐湁rowid鏈灝忕殑璁板綍</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy5576" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">delete from vitae a <br />where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) <br />and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1) <br /></td></tr></tbody></table><p style="list-style: none; margin: 0px; padding: 8px 0px; font-size: 14px; line-height: 26px; word-wrap: break-word; color: #444444; font-family: Simsun;">5銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級錛屼笉鍖呭惈rowid鏈灝忕殑璁板綍</p><table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="color: #444444; font-family: Simsun; font-size: 15.3333330154419px; line-height: 26px; background: #ffbb77;"><tbody><tr><td width="464" height="27" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px;"> 浠g爜濡備笅</td><td width="109" align="center" bgcolor="#FFE7CE" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 0px; cursor: pointer;">澶嶅埗浠g爜</td></tr><tr><td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" id="copy4284" style="font-size: 12px; color: #000000; list-style: none; margin: 0px; padding: 10px;">select * from vitae a <br />where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) <br />and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)<br /><br /></td></tr></tbody></table><img src ="http://www.tkk7.com/masen/aggbug/424345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/masen/" target="_blank">Masen</a> 2015-04-12 19:34 <a href="http://www.tkk7.com/masen/articles/424345.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>mysql 鍒嗚〃 鍒嗗尯 錛堣漿錛?/title><link>http://www.tkk7.com/masen/articles/424314.html</link><dc:creator>Masen</dc:creator><author>Masen</author><pubDate>Sat, 11 Apr 2015 11:00:00 GMT</pubDate><guid>http://www.tkk7.com/masen/articles/424314.html</guid><wfw:comment>http://www.tkk7.com/masen/comments/424314.html</wfw:comment><comments>http://www.tkk7.com/masen/articles/424314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/masen/comments/commentRss/424314.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/masen/services/trackbacks/424314.html</trackback:ping><description><![CDATA[     鎽樿: 涓轟粈涔堣鍒嗚〃鍜屽垎鍖猴紵鏃ュ父寮鍙戜腑鎴戜滑緇忓父浼氶亣鍒板ぇ琛ㄧ殑鎯呭喌錛屾墍璋撶殑澶ц〃鏄寚瀛樺偍浜嗙櫨涓囩駭涔冭嚦鍗冧竾綰ф潯璁板綍鐨勮〃銆傝繖鏍風殑琛ㄨ繃浜庡簽澶э紝瀵艱嚧鏁版嵁搴撳湪鏌ヨ鍜屾彃鍏ョ殑鏃跺欒楁椂澶暱錛屾ц兘浣庝笅錛屽鏋滄秹鍙婅仈鍚堟煡璇㈢殑鎯呭喌錛屾ц兘浼氭洿鍔犵碂緋曘傚垎琛ㄥ拰琛ㄥ垎鍖虹殑鐩殑灝辨槸鍑忓皯鏁版嵁搴撶殑璐熸媴錛屾彁楂樻暟鎹簱鐨勬晥鐜囷紝閫氬父鐐規潵璁插氨鏄彁楂樿〃鐨勫鍒犳敼鏌ユ晥鐜囥備粈涔堟槸鍒嗚〃錛熷垎琛ㄦ槸灝嗕竴涓ぇ琛ㄦ寜鐓т竴瀹氱殑瑙勫垯鍒嗚В鎴愬寮犲叿鏈夌嫭绔嬪瓨鍌ㄧ┖闂寸殑瀹炰綋琛紝鎴戜滑鍙互縐頒負瀛愯〃錛?..  <a href='http://www.tkk7.com/masen/articles/424314.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/masen/aggbug/424314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/masen/" target="_blank">Masen</a> 2015-04-11 19:00 <a href="http://www.tkk7.com/masen/articles/424314.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle 甯哥敤鍛戒護錛堣漿錛?/title><link>http://www.tkk7.com/masen/articles/327769.html</link><dc:creator>Masen</dc:creator><author>Masen</author><pubDate>Mon, 02 Aug 2010 09:25:00 GMT</pubDate><guid>http://www.tkk7.com/masen/articles/327769.html</guid><wfw:comment>http://www.tkk7.com/masen/comments/327769.html</wfw:comment><comments>http://www.tkk7.com/masen/articles/327769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/masen/comments/commentRss/327769.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/masen/services/trackbacks/327769.html</trackback:ping><description><![CDATA[<p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; ">絎竴绔?鏃ュ織綆$悊<br /> 1.forcing log switches   榪嬌寮鍏蟲棩蹇?br /> sql> alter system switch logfile;<br /> 2.forcing checkpoints    寮鴻揩媯鏌?br /> sql> alter system checkpoint;<br /> 3.adding online redo log groups    鍔犲叆鑱旀満閲嶅仛鏃ュ織緇?br /> sql> alter database add logfile [group 4]<br /> sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;<br /> 4.adding online redo log members    鍔犲叆鑱旀満閲嶅仛鏃ュ織鎴愬憳<br /> sql> alter database add logfile member<br /> sql> '/disk3/log1b.rdo' to group 1,<br /> sql> '/disk4/log2b.rdo' to group 2;<br /> 5.changes the name of the online redo logfile     鏇存敼鍚嶇О鐨勮仈鏈洪噸鍋氭棩蹇?br /> sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log'<br /> sql> to 'c:/oracle/oradata/redo01.log';<br /> 6.drop online redo log groups    钀藉湪綰塊噸鍋氭棩蹇楃粍<br /> sql> alter database drop logfile group 3;<br /> 7.drop online redo log members       钀藉湪綰塊噸鍋氭棩蹇楁垚鍛?br /> sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log';<br /> 8.clearing online redo log files 緇撶畻鍦ㄧ嚎閲嶅仛鏃ュ織鏂囦歡<br /> sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo';<br /> 9.using logminer analyzing redo logfiles  浣跨敤logminer鍒嗘瀽閲嶅仛鏃ュ織<br /> a. in the init.ora specify utl_file_dir = ' '<br /> b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');<br /> c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log',<br /> sql> dbms_logmnr.new);<br /> d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log',<br /> sql> dbms_logmnr.addfile);<br /> e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora');<br /> f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters<br /> sql> v$logmnr_logs);<br /> g. sql> execute dbms_logmnr.end_logmnr;</p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "><br /> 絎簩绔?琛ㄧ┖闂寸鐞?br /> 1.create tablespaces   鍒涘緩琛ㄧ┖闂?br /> sql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,<br /> sql> 'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging]<br /> sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)<br /> sql> [online/offline] [permanent/temporary] [extent_management_clause]<br /> 2.locally managed tablespace    鏈湴綆$悊琛ㄧ┖闂?br /> sql> create tablespace user_data datafile 'c:\oracle\oradata\user_data01.dbf'<br /> sql> size 500m extent management local uniform size 10m;<br /> 3.temporary tablespace    涓存椂琛ㄧ┖闂?br /> sql> create temporary tablespace temp tempfile 'c:\oracle\oradata\temp01.dbf'<br /> sql> size 500m extent management local uniform size 10m;<br /> 4.change the storage setting    鏀瑰彉瀛樺偍璁劇疆<br /> sql> alter tablespace app_data minimum extent 2m;<br /> sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999);<br /> 5.taking tablespace offline or online    鍚屾椂琛ㄧ┖闂寸綰挎垨鍦ㄧ嚎<br /> sql> alter tablespace app_data offline;<br /> sql> alter tablespace app_data online;<br /> 6.read_only tablespace    鍙琛ㄧ┖闂?br /> sql> alter tablespace app_data read only|write;<br /> 7.droping tablespace    鍒犻櫎琛ㄧ┖闂?br /> sql> drop tablespace app_data including contents;<br /> 8.enableing automatic extension of data files   enableing鑷姩寤墮暱鏁版嵁妗f<br /> sql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf' size 200m<br /> sql> autoextend on next 10m maxsize 500m;<br /> 9.change the size fo data files manually  灝哄鍙樺寲鐨勬暟鎹。妗堟墜鍔?br /> sql> alter database datafile 'c:\oracle\oradata\app_data.dbf' resize 200m;<br /> 10.Moving data files: alter tablespace  縐誨姩鏁版嵁妗f:鏀瑰彉琛ㄧ┖闂?br /> sql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbf'<br /> sql> to 'c:\oracle\app_data.dbf';<br /> 11.moving data files:alter database   縐誨姩鏁版嵁妗f:鏀瑰彉鏁版嵁搴?br /> sql> alter database rename file 'c:\oracle\oradata\app_data.dbf'<br /> sql> to 'c:\oracle\app_data.dbf';</p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "> </p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; ">絎笁绔?琛?br /> 1.create a table   鏂板緩琛?br /> sql> create table table_name (column datatype,column datatype]....)<br /> sql> tablespace tablespace_name [pctfree integer] [pctused integer]<br /> sql> [initrans integer] [maxtrans integer]<br /> sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)<br /> sql> [logging|nologging] [cache|nocache]<br /> 2.copy an existing table   澶嶅埗涓涓幇鏈夌殑琛?br /> sql> create table table_name [logging|nologging] as subquery<br /> 3.create temporary table   鍒涘緩涓存椂琛?br /> sql> create global temporary table xay_temp as select * from xay;<br /> on commit preserve rows/on commit delete rows<br /> 4.pctfree = (average row size - initial row size) *100 /average row size<br /> pctused = 100-pctfree- (average row size*100/available data space)<br /> 5.change storage and block utilization parameter  鏀瑰彉瀛樺偍鍜屽埄鐢ㄥ潡鍙傛暟<br /> sql> alter table table_name pctfree=30 pctused=50 storage(next 500k<br /> sql> minextents 2 maxextents 100);<br /> 6.manually allocating extents<br /> sql> alter table table_name allocate extent(size 500k datafile 'c:/oracle/data.dbf');<br /> 7.move tablespace   縐誨姩琛ㄧ┖闂?br /> sql> alter table employee move tablespace users;<br /> 8.deallocate of unused space  deallocate鐨勯棽緗┖闂?br /> sql> alter table table_name deallocate unused [keep integer]<br /> 9.truncate a table   鎴柇琛?br /> sql> truncate table table_name;<br /> 10.drop a table  鍒犻櫎琛?br /> sql> drop table table_name [cascade constraints];<br /> 11.drop a column  鍒犻櫎鍒?br /> sql> alter table table_name drop column comments cascade constraints checkpoint 1000;<br /> alter table table_name drop columns continue;<br /> 12.mark a column as unused<br /> sql> alter table table_name set unused column comments cascade constraints;<br /> alter table table_name drop unused columns checkpoint 1000;<br /> alter table orders drop columns continue checkpoint 1000<br /> data_dictionary : dba_unused_col_tabs</p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "> </p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; ">銆銆絎洓绔?绱㈠紩<br /> 1.creating function-based indexes  寤虹珛鍩轟簬鍔熻兘鐨勭儲寮?br /> sql> create index summit.item_quantity on summit.item(quantity-quantity_shipped);<br /> 2.create a B-tree index    鍒涢犱竴涓狟鏍戠儲寮?br /> sql> create [unique] index index_name on table_name(column,.. asc/desc) tablespace<br /> sql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]<br /> sql> [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0<br /> sql> maxextents 50);<br /> 3.pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum number of rows<br /> 4.creating reverse key indexes   鍒涢犻嗚漿鍏抽敭鎸囨爣<br /> sql> create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k<br /> sql> next 200k pctincrease 0 maxextents 50) tablespace indx;<br /> 5.create bitmap index   鍒涘緩浣嶅浘绱㈠紩<br /> sql> create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200k<br /> sql> pctincrease 0 maxextents 50) tablespace indx;<br /> 6.change storage parameter of index   鏀瑰彉瀛樺偍鍙傛暟鎸囨爣<br /> sql> alter index xay_id storage (next 400k maxextents 100);<br /> 7.allocating index space    鍒嗛厤绱㈠紩絀洪棿<br /> sql> alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');<br /> 8.alter index xay_id deallocate unused;    鏀瑰彉鎸囨暟xay_id deallocate鍓?/p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "> </p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "><br /> 絎簲绔?綰︽潫<br /> 1.define constraints as immediate or deferred     鐣屽畾鍒剁害鍗蟲湡鎴栧歡鏈?br /> sql> alter session set constraint[s] = immediate/deferred/default;<br /> set constraint[s] constraint_name/all immediate/deferred;<br /> 2. sql> drop table table_name cascade constraints<br /> sql> drop tablespace tablespace_name including contents cascade constraints<br /> 3. define constraints while create a table    鐣屽畾闄愬埗,鍚屾椂鍒涘緩涓涓〃<br /> sql> create table xay(id number(7) constraint xay_id primary key deferrable<br /> sql> using index storage(initial 100k next 100k) tablespace indx);<br /> primary key/unique/references table(column)/check<br /> 4.enable constraints    浣垮埗綰?br /> sql> alter table xay enable novalidate constraint xay_id;<br /> 5.enable constraints     浣垮埗綰?br /> sql> alter table xay enable validate constraint xay_id;</p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "> </p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "><br /> 絎叚绔?LOAD鏁版嵁<br /> 1.loading data using direct_load insert<br /> sql> insert /*+append */ into emp nologging<br /> sql> select * from emp_old;<br /> 2.parallel direct-load insert<br /> sql> alter session enable parallel dml;<br /> sql> insert /*+parallel(emp,2) */ into emp nologging<br /> sql> select * from emp_old;<br /> 3.using sql*loader<br /> sql> sqlldr scott/tiger \<br /> sql> control = ulcase6.ctl \<br /> sql> log = ulcase6.log direct=true</p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "> </p> <p style="display: block; font-size: 14px; line-height: 26px; color: #2b516c; text-decoration: none; "><br /> 絎竷绔?鏁版嵁鏁寸悊<br /> 1.using expoty<br /> $exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=y<br /> 2.using import<br /> $imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y<br /> 3.transporting a tablespace<br /> sql>alter tablespace sales_ts read only;<br /> $exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts<br /> triggers=n constraints=n<br /> $copy datafile<br /> $imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2<br /> /sles02.dbf)<br /> sql> alter tablespace sales_ts read write;<br /> 4.checking transport set<br /> sql> DBMS_tts.transport_set_check(ts_list =>'sales_ts' ..,incl_constraints=>true);<br /> 鍦ㄨ〃transport_set_violations 涓煡鐪?br /> sql> dbms_tts.isselfcontained 涓簍rue 鏄紝 琛ㄧず鑷寘鍚?br /> 絎叓绔? 瀵嗙爜瀹夊叏涓庤祫婧愮鐞?br /> 1.controlling account lock and password<br /> sql> alter user juncky identified by oracle account unlock;<br /> 2.user_provided password function<br /> sql> function_name(userid in varchar2(30),password in varchar2(30),<br /> old_password in varchar2(30)) return boolean<br /> 3.create a profile : password setting<br /> sql> create profile grace_5 limit failed_login_attempts 3<br /> sql> password_lock_time unlimited password_life_time 30<br /> sql>password_reuse_time 30 password_verify_function verify_function<br /> sql> password_grace_time 5;<br /> 4.altering a profile<br /> sql> alter profile default failed_login_attempts 3<br /> sql> password_life_time 60 password_grace_time 10;<br /> 5.drop a profile<br /> sql> drop profile grace_5 [cascade];<br /> 6.create a profile : resource limit<br /> sql> create profile developer_prof limit sessions_per_user 2<br /> sql> cpu_per_session 10000 idle_time 60 connect_time 480;<br /> 7. view => resource_cost : alter resource cost<br /> dba_Users,dba_profiles<br /> 8. enable resource limits<br /> sql> alter system set resource_limit=true;<br /> 絎節绔?鐢ㄦ埛綆$悊<br /> 1.create a user: database authentication<br /> sql> create user juncky identified by oracle default tablespace users<br /> sql> temporary tablespace temp quota 10m on data password expire<br /> sql> [account lock|unlock] [profile profilename|default];<br /> 2.change user quota on tablespace<br /> sql> alter user juncky quota 0 on users;<br /> 3.drop a user<br /> sql> drop user juncky [cascade];<br /> 4. monitor user<br /> view: dba_users , dba_ts_quotas<br /> 絎崄绔?鐗規潈綆$悊<br /> 1.system privileges: view => system_privilege_map ,dba_sys_privs,session_privs<br /> 2.grant system privilege<br /> sql> grant create session,create table to managers;<br /> sql> grant create session to scott with admin option;<br /> with admin option can grant or revoke privilege from any user or role;<br /> 3.sysdba and sysoper privileges:<br /> sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,<br /> alter tablespace begin/end backup,recover database<br /> alter database archivelog,restricted session<br /> sysdba: sysoper privileges with admin option,create database,recover database until<br /> 4.password file members: view:=> v$pwfile_users<br /> 5.O7_dictionary_accessibility =true restriction access to view or tables in other schema<br /> 6.revoke system privilege<br /> sql> revoke create table from karen;<br /> sql> revoke create session from scott;<br /> 7.grant object privilege<br /> sql> grant execute on dbms_pipe to public;<br /> sql> grant update(first_name,salary) on employee to karen with grant option;<br /> 8.display object privilege : view => dba_tab_privs, dba_col_privs<br /> 9.revoke object privilege<br /> sql> revoke execute on dbms_pipe from scott [cascade constraints];<br /> 10.audit record view :=> sys.aud$<br /> 11. protecting the audit trail<br /> sql> audit delete on sys.aud$ by access;<br /> 12.statement auditing<br /> sql> audit user;<br /> 13.privilege auditing<br /> sql> audit select any table by summit by access;<br /> 14.schema object auditing<br /> sql> audit lock on summit.employee by access whenever successful;<br /> 15.view audit option : view=> all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts<br /> 16.view audit result: view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement<br /> 絎崄涓绔? 瑙勫垯綆$悊鍣?br /> 1.create roles<br /> sql> create role sales_clerk;<br /> sql> create role hr_clerk identified by bonus;<br /> sql> create role hr_manager identified externally;<br /> 2.modify role<br /> sql> alter role sales_clerk identified by commission;<br /> sql> alter role hr_clerk identified externally;<br /> sql> alter role hr_manager not identified;<br /> 3.assigning roles<br /> sql> grant sales_clerk to scott;<br /> sql> grant hr_clerk to hr_manager;<br /> sql> grant hr_manager to scott with admin option;<br /> 4.establish default role<br /> sql> alter user scott default role hr_clerk,sales_clerk;<br /> sql> alter user scott default role all;<br /> sql> alter user scott default role all except hr_clerk;<br /> sql> alter user scott default role none;<br /> 5.enable and disable roles<br /> sql> set role hr_clerk;<br /> sql> set role sales_clerk identified by commission;<br /> sql> set role all except sales_clerk;<br /> sql> set role none;<br /> 6.remove role from user<br /> sql> revoke sales_clerk from scott;<br /> sql> revoke hr_manager from public;<br /> 7.remove role<br /> sql> drop role hr_manager;<br /> 8.display role information<br /> view: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles<br /> 絎崄浜岀珷: 澶囦喚涓庢仮澶?br /> 1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat<br /> 2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size<br /> 3. Monitoring Parallel Rollback<br /> > v$fast_start_servers , v$fast_start_transactions<br /> 4.perform a closed database backup (noarchivelog)<br /> > shutdown immediate<br /> > cp files /backup/<br /> > startup<br /> 5.restore to a different location<br /> > connect system/manager as sysdba<br /> > startup mount<br /> > alter database rename file '/disk1/../user.dbf' to '/disk2/../user.dbf';<br /> > alter database open;<br /> 6.recover syntax<br /> --recover a mounted database<br /> >recover database;<br /> >recover datafile '/disk1/data/df2.dbf';<br /> >alter database recover database;<br /> --recover an opened database<br /> >recover tablespace user_data;<br /> >recover datafile 2;<br /> >alter database recover datafile 2;<br /> 7.how to apply redo log files automatically<br /> >set autorecovery on<br /> >recover automatic datafile 4;<br /> 8.complete recovery:<br /> --method 1(mounted databae)<br /> >copy c:\backup\user.dbf c:\oradata\user.dbf<br /> >startup mount<br /> >recover datafile 'c:\oradata\user.dbf;<br /> >alter database open;<br /> --method 2(opened database,initially opened,not system or rollback datafile)<br /> >copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline)<br /> >recover datafile 'c:\oradata\user.dbf' or<br /> >recover tablespace user_data;<br /> >alter database datafile 'c:\oradata\user.dbf' online or<br /> >alter tablespace user_data online;<br /> --method 3(opened database,initially closed not system or rollback datafile)<br /> >startup mount<br /> >alter database datafile 'c:\oradata\user.dbf' offline;<br /> >alter database open<br /> >copy c:\backup\user.dbf d:\oradata\user.dbf<br /> >alter database rename file 'c:\oradata\user.dbf' to 'd:\oradata\user.dbf'<br /> >recover datafile 'e:\oradata\user.dbf' or recover tablespace user_data;<br /> >alter tablespace user_data online;<br /> --method 4(loss of data file with no backup and have all archive log)<br /> >alter tablespace user_data offline immediate;<br /> >alter database create datafile 'd:\oradata\user.dbf' as 'c:\oradata\user.dbf''<br /> >recover tablespace user_data;<br /> >alter tablespace user_data online<br /> 5.perform an open database backup<br /> > alter tablespace user_data begin backup;<br /> > copy files /backup/<br /> > alter database datafile '/c:/../data.dbf' end backup;<br /> > alter system switch logfile;<br /> 6.backup a control file<br /> > alter database backup controlfile to 'control1.bkp';<br /> > alter database backup controlfile to trace;<br /> 7.recovery (noarchivelog mode)<br /> > shutdown abort<br /> > cp files<br /> > startup<br /> 8.recovery of file in backup mode<br /> >alter database datafile 2 end backup;<br /> 9.clearing redo log file<br /> >alter database clear unarchived logfile group 1;<br /> >alter database clear unarchived logfile group 1 unrecoverable datafile;<br /> 10.redo log recovery<br /> >alter database add logfile group 3 'c:\oradata\redo03.log' size 1000k;<br /> >alter database drop logfile group 1;<br /> >alter database open;<br /> or >cp c:\oradata\redo02.log' c:\oradata\redo01.log<br /> >alter database clear logfile 'c:\oradata\log01.log';</p> <img src ="http://www.tkk7.com/masen/aggbug/327769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/masen/" target="_blank">Masen</a> 2010-08-02 17:25 <a href="http://www.tkk7.com/masen/articles/327769.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JDBC涓嬪悇縐嶆暟鎹簱鐨勮繛鎺ュ瓧絎︿覆鍜岄┍鍔ㄧ被涓瑙?/title><link>http://www.tkk7.com/masen/articles/182056.html</link><dc:creator>Masen</dc:creator><author>Masen</author><pubDate>Mon, 25 Feb 2008 09:56:00 GMT</pubDate><guid>http://www.tkk7.com/masen/articles/182056.html</guid><wfw:comment>http://www.tkk7.com/masen/comments/182056.html</wfw:comment><comments>http://www.tkk7.com/masen/articles/182056.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/masen/comments/commentRss/182056.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/masen/services/trackbacks/182056.html</trackback:ping><description><![CDATA[JDBC涓嬪悇縐嶆暟鎹簱鐨勮繛鎺ュ瓧絎︿覆鍜岄┍鍔ㄧ被涓瑙? <h2 class="ContentAuthor"> </h2> <div class="egigkm0" id="log_1"> <div id="00eys0o" class="Content-body" id="logcontent_146" style="table-layout: fixed; word-break: break-all"><font color="#0000ff">DB2 v8:<br /> jdbc:db2://host/dbName<br /> COM.ibm.db2.jdbc.net.DB2Driver<br /> <br /> DB2 v9<br /> jdbc:db2://host/dbName:deferPrepares=false;<br /> com.ibm.db2.jcc.DB2Driver<br /> <br /> Informix:<br /> jdbc:informix-sqli://host/dbName:INFORMIXSERVER=server<br /> com.informix.jdbc.IfxDriver<br /> <br /> SQLServer:<br /> jdbc:sqlserver://host;DatabaseName=dbName<br /> com.microsoft.jdbc.sqlserver.SQLServerDriver<br /> <br /> MySQL錛?br /> jdbc:mysql://host/dbName?useUnicode=true&characterEncoding=GBK<br /> com.mysql.jdbc.Driver<br /> <br /> Oracle錛?br /> jdbc:oracle:thin:@host:dbName<br /> oracle.jdbc.driver.OracleDriver<br /> <br /> Sybase錛?br /> jdbc:sybase:Tds:host/dbName<br /> com.sybase.jdbc2.jdbc.SybDriver<br /> <br /> Teradata:<br /> jdbc:teradata://host/dbName<br /> com.ncr.teradata.TeraDriver</font>  </div> </div> <br /> <p id="TBPingURL"> </p> <img src ="http://www.tkk7.com/masen/aggbug/182056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/masen/" target="_blank">Masen</a> 2008-02-25 17:56 <a href="http://www.tkk7.com/masen/articles/182056.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒嗛〉sqlhttp://www.tkk7.com/masen/articles/118702.htmlMasenMasenSun, 20 May 2007 08:42:00 GMThttp://www.tkk7.com/masen/articles/118702.htmlhttp://www.tkk7.com/masen/comments/118702.htmlhttp://www.tkk7.com/masen/articles/118702.html#Feedback0http://www.tkk7.com/masen/comments/commentRss/118702.htmlhttp://www.tkk7.com/masen/services/trackbacks/118702.htmlMSSQL

濡傚湪ms   sqlserver   鐢ㄦ璇彞錛?nbsp; 
  select   top   2   *   from   test01   灝變細鍙樉紺哄墠2鏉¤褰曪紝  
   
 


MYSQL

select   *   from   your_table   where   ....   limit   2;  
   
  浣跨敤limit灝卞彲浠ヤ簡.

 

Oracle鐨勮鍙? 
select * from (select rownum r ,* from test) tt 
where tt.r > 50 and tt.r <= 100;  (鏈濂界敤PLSQL娓告爣鏉ヨВ鍐?


DB2涓細 
select * from payment fetch first 5 row only --鏌ュ墠5鏉¤褰?nbsp;

 

MySQL


 
select * from Cat limit ?,?  
select * from Cat limit 20000,100  
浠嶤at琛ㄤ腑絎?0000鏉″紑濮嬪彇鍑?00鏉¤褰曪紝鍗寵褰曞彿涓?0000鍒?0099鐨勮褰?nbsp; 
  
select * from Cat limit ?  
select * from Cat limit 100  
浠嶤at琛ㄤ腑鍙栧嚭璁板綍鍙蜂負1鍒?00鐨勮褰?nbsp; 
  
select * from Cat order by rand() limit ?  
select * from Cat order by rand() limit 100  
浠嶤at琛ㄤ腑闅忔満鍙栧嚭100鏉¤褰?nbsp; 

Oracle


 
select * from (select *, rownum rownum_ from Cat where rownum <= ?) where rownum_ > ?  
select * from (select *, rownum rownum_ from Cat where rownum <= 20099) where rownum_ > 19999  
浠嶤at琛ㄤ腑絎?0000鏉″紑濮嬪彇鍑?00鏉¤褰曪紝鍗寵褰曞彿涓?0000鍒?0099鐨勮褰?nbsp; 
  
select * from Cat where rownum <= ?  
select * from Cat where rownum <= 100  
浠嶤at琛ㄤ腑鍙栧嚭璁板綍鍙蜂負1鍒?00鐨勮褰?nbsp; 
  
select * from (select * from Cat order by dbms_random.value) where rownum < ?  
select * from (select * from Cat order by dbms_random.value) where rownum < 100  
浠嶤at琛ㄤ腑闅忔満鍙栧嚭100鏉¤褰?nbsp; 

HSQLDB


select * from Cat limit ? ?  
select * from Cat limit 20000 100  
浠嶤at琛ㄤ腑絎?0000鏉″紑濮嬪彇鍑?00鏉¤褰曪紝鍗寵褰曞彿涓?0000鍒?0099鐨勮褰?nbsp; 
  
select * from Cat top ?  
select * from Cat top 100  
浠嶤at琛ㄤ腑鍙栧嚭璁板綍鍙蜂負1鍒?00鐨勮褰?nbsp; 



Masen 2007-05-20 16:42 鍙戣〃璇勮
]]>
Mysql甯哥敤鍑芥暟鍒楄〃http://www.tkk7.com/masen/articles/116812.htmlMasenMasenFri, 11 May 2007 09:38:00 GMThttp://www.tkk7.com/masen/articles/116812.htmlhttp://www.tkk7.com/masen/comments/116812.htmlhttp://www.tkk7.com/masen/articles/116812.html#Feedback0http://www.tkk7.com/masen/comments/commentRss/116812.htmlhttp://www.tkk7.com/masen/services/trackbacks/116812.html Mysql甯哥敤鍑芥暟鍒楄〃
瀛楃涓茬被
 
CHARSET(str) //榪斿洖瀛椾覆瀛楃闆?br>CONCAT (string2  [,... ]) //榪炴帴瀛椾覆
INSTR (string ,substring ) //榪斿洖substring棣栨鍦╯tring涓嚭鐜扮殑浣嶇疆,涓嶅瓨鍦ㄨ繑鍥?
LCASE (string2 ) //杞崲鎴愬皬鍐?br>LEFT (string2 ,length ) //浠巗tring2涓殑宸﹁竟璧峰彇length涓瓧絎?br>LENGTH (string ) //string闀垮害
LOAD_FILE (file_name ) //浠庢枃浠惰鍙栧唴瀹?br>LOCATE (substring , string  [,start_position ] ) 鍚孖NSTR,浣嗗彲鎸囧畾寮濮嬩綅緗?br>LPAD (string2 ,length ,pad ) //閲嶅鐢╬ad鍔犲湪string寮澶?鐩村埌瀛椾覆闀垮害涓簂ength
LTRIM (string2 ) //鍘婚櫎鍓嶇絀烘牸
REPEAT (string2 ,count ) //閲嶅count嬈?br>REPLACE (str ,search_str ,replace_str ) //鍦╯tr涓敤replace_str鏇挎崲search_str
RPAD (string2 ,length ,pad) //鍦╯tr鍚庣敤pad琛ュ厖,鐩村埌闀垮害涓簂ength
RTRIM (string2 ) //鍘婚櫎鍚庣絀烘牸
STRCMP (string1 ,string2 ) //閫愬瓧絎︽瘮杈冧袱瀛椾覆澶у皬,
SUBSTRING (str , position  [,length ]) //浠巗tr鐨刾osition寮濮?鍙杔ength涓瓧絎?
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //鍘婚櫎鎸囧畾浣嶇疆鐨勬寚瀹氬瓧絎?br>UCASE (string2 ) //杞崲鎴愬ぇ鍐?br>RIGHT(string2,length) //鍙杝tring2鏈鍚巐ength涓瓧絎?br>SPACE(count) //鐢熸垚count涓┖鏍?/div>
 
鏁板綾?/u>

ABS (number2 ) //緇濆鍊?br>BIN (decimal_number ) //鍗佽繘鍒惰漿浜岃繘鍒?br>CEILING (number2 ) //鍚戜笂鍙栨暣
CONV(number2,from_base,to_base) //榪涘埗杞崲
FLOOR (number2 ) //鍚戜笅鍙栨暣
FORMAT (number,decimal_places ) //淇濈暀灝忔暟浣嶆暟
HEX (DecimalNumber ) //杞崄鍏繘鍒?br>LEAST (number , number2  [,..]) //姹傛渶灝忓?br>MOD (numerator ,denominator ) //姹備綑
POWER (number ,power ) //姹傛寚鏁?br>RAND([seed]) //闅忔満鏁?br>ROUND (number  [,decimals ]) //鍥涜垗浜斿叆,decimals涓哄皬鏁頒綅鏁癩
SIGN (number2 ) //榪斿洖絎﹀彿,姝h礋鎴?
SQRT(number2) //寮騫蟲柟
 
鏃ユ湡鏃墮棿綾?/u>
 
ADDTIME (date2 ,time_interval ) //灝唗ime_interval鍔犲埌date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //杞崲鏃跺尯
CURRENT_DATE (  ) //褰撳墠鏃ユ湡
CURRENT_TIME (  ) //褰撳墠鏃墮棿
CURRENT_TIMESTAMP (  ) //褰撳墠鏃墮棿鎴?br>DATE (datetime ) //榪斿洖datetime鐨勬棩鏈熼儴鍒?br>DATE_ADD (date2 , INTERVAL d_value d_type ) //鍦╠ate2涓姞涓婃棩鏈熸垨鏃墮棿
DATE_FORMAT (datetime ,FormatCodes ) //浣跨敤formatcodes鏍煎紡鏄劇ずdatetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //鍦╠ate2涓婂噺鍘諱竴涓椂闂?br>DATEDIFF (date1 ,date2 ) //涓や釜鏃ユ湡宸?br>DAY (date ) //榪斿洖鏃ユ湡鐨勫ぉ
DAYNAME (date ) //鑻辨枃鏄熸湡
DAYOFWEEK (date ) //鏄熸湡(1-7) ,1涓烘槦鏈熷ぉ
DAYOFYEAR (date ) //涓騫翠腑鐨勭鍑犲ぉ
EXTRACT (interval_name  FROM date ) //浠巇ate涓彁鍙栨棩鏈熺殑鎸囧畾閮ㄥ垎
MAKEDATE (year ,day ) //緇欏嚭騫村強騫翠腑鐨勭鍑犲ぉ,鐢熸垚鏃ユ湡涓?br>MAKETIME (hour ,minute ,second ) //鐢熸垚鏃墮棿涓?br>MONTHNAME (date ) //鑻辨枃鏈堜喚鍚?br>NOW (  ) //褰撳墠鏃墮棿
SEC_TO_TIME (seconds ) //縐掓暟杞垚鏃墮棿
STR_TO_DATE (string ,format ) //瀛椾覆杞垚鏃墮棿,浠ormat鏍煎紡鏄劇ず
TIMEDIFF (datetime1 ,datetime2 ) //涓や釜鏃墮棿宸?br>TIME_TO_SEC (time ) //鏃墮棿杞鏁癩
WEEK (date_time [,start_of_week ]) //絎嚑鍛?br>YEAR (datetime ) //騫翠喚
DAYOFMONTH(datetime) //鏈堢殑絎嚑澶?br>HOUR(datetime) //灝忔椂
LAST_DAY(date) //date鐨勬湀鐨勬渶鍚庢棩鏈?br>MICROSECOND(datetime) //寰
MONTH(datetime) //鏈?br>MINUTE(datetime) //鍒?/div>
 
闄?鍙敤鍦↖NTERVAL涓殑綾誨瀷
DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE_SECOND,MONTH ,SECOND ,YEAR


Masen 2007-05-11 17:38 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 最近最新的免费中文字幕| 亚洲国产成人久久精品99| 亚洲av无码成人精品区一本二本 | 无人影院手机版在线观看免费 | 亚洲av成人一区二区三区在线播放 | 亚洲AV成人片色在线观看高潮| 国产精品入口麻豆免费观看| 国产亚洲精彩视频| 亚洲日本一区二区| 无码国模国产在线观看免费| 小日子的在线观看免费| 亚洲AV综合永久无码精品天堂| 国产亚洲精品国产| 国产高清视频在线免费观看| 久久永久免费人妻精品| 久久精品国产亚洲AV| 久久精品亚洲中文字幕无码麻豆| 国产一级淫片a免费播放口之| 99热这里有免费国产精品| 国产精品无码亚洲一区二区三区| 亚洲国产综合专区在线电影 | 亚洲午夜精品在线| 在线观看国产区亚洲一区成人 | 免费a级毛片网站| 免费国产作爱视频网站| 成全视频免费观看在线看| 国产精品成人亚洲| 国产成人精品亚洲日本在线| 亚洲av日韩av天堂影片精品| 亚洲高清免费视频| 四虎成人免费影院网址| 16女性下面扒开无遮挡免费| 成在人线av无码免费高潮水| 男人的天堂av亚洲一区2区| 亚洲国产人成在线观看| 亚洲人成电影福利在线播放| 久久精品国产亚洲一区二区三区 | 亚洲a级在线观看| 亚洲短视频男人的影院| 亚洲日产无码中文字幕| 亚洲国产精品国产自在在线|