ข้าพเจ้าเชื่อว่าพระคุณของพระเจ้านั้นเพียงพอต่อชีวิตและครอบครัวของข้าพเจ้า

เกลือจืด
Location :


[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 7 คน [?]




Group Blog
 
 
มีนาคม 2550
 123
45678910
11121314151617
18192021222324
25262728293031
 
28 มีนาคม 2550
 
All Blogs
 
Friends' blogs
[Add เกลือจืด's blog to your web]
Links
 

 

7 สิ่งที่นำไปสู่ความล้มเหลวในการใช้ ADO

สิ่งที่ยิ่งใหญ่ในเรื่องของ ADO คือความอ่อนตัวในการแก้ไข อย่างไรก็ตามมันก็เป็นการง่ายที่จะทำให้เราฆ่าตัวตายด้วยการเขียน program ที่ผิดพลาด นี่คือตัวอย่างที่มักพบในการพัฒนาระบบ

1. การไม่ใช้ native OLE DB ในการใช้ ADO ทั้งในรูปของ native OLE DB และในรูปแบบของ OLE ผ่าน ODBC ซึ่งการปรับโปรแกรมจากเดิมที่ใช้ ODBC ไปเป็น OLE ผ่านทาง DNS นั้นจะแก้ไขโปรแกรมเดิมเพียงเล็กน้อย แต่แท้จริงแล้ว OLE DB ในรูป native นั้นจะทำงานได้ มีประสิทธิภาพมากกว่าผ่านทาง ODBC เพราะ option การทำงานบางอย่างของ OLE DB จะยังไม่ทำงานใน ODBC

2. การใช้ RecordSet แทนที่จะใช้ Store Procedure ถึงแม้ ADO จะอนุญาตให้เขียนโปรแกรมแบบ Query และ Update ง่ายๆโดยผ่าน RecordSet แต่ Store Procedure สามารถทำงานได้อย่างมีประสิทธิภาพกว่าเพราะมีการทำ cache execution plans นอกจากนั้นการ Store Procedure ยังลดการทำงานของ Network ลงเนื่องจากเป็นการส่ง request ไปครั้งเดียว

3. การใช้ ADO กำหนดตัวแปรใน store procedure ADO สามารถที่ทำ dynamic ตัวแปรของ store procedure โดยการใช้ Refresh Method ซึ่งการความสามารถดังกล่าวนั้นจะเหมาะสมในกรณีที่อยู่ในระหว่างการพัฒนาระบบ เพราะฉะนั้น ในกรณีของ PRODUCTION CODE ไม่ควรทำ เพื่อลดการทำงานที่ไม่จำเป็นของ Network

4. การใช้ RecordSet update ข้อมูลจำนวนมากๆ ถึงแม้การใช้ RecordSet update ข้อมูลนั้นง่ายและสะดวก แต่ method นี้จำเป็นต้องอาศัยการ open cursor ซึ่ง จะเป็นการกิน resouce อย่างมาก ดังนั้นให้ใช้การ update ด้วย sql-command โดยตรงหรือ store procedure จะเป็นการดีกว่า

5.การใช้ Independent connection สำหรับ Command และ RecordSet Object. หลายๆคนจะใช้ feature ของ ADO อย่างผิดพลาดโดยการสร้าง Connection ต่างหาก ซึ่งในการทำงาน ที่ NETWORK จริงๆแล้ว การสร้าง เปิด ปิด connection หลายครั้งจะมีผลดีกว่าวิธีการใช้ connection ที่เปิดค้างไว้

6. การใช้ cursor type ที่ไม่เหมาะสม ADO สามารถเปิด cursor ได้ 4 ประเภทคือ forward-only,static,keyset และ dynamic แต่ forware-only นั้นจะกิน over head น้อยที่สุด และมี performance ที่ดีที่สุด ดังนั้นให้หลีกเลี่ยงการใช้ cursor อย่างอื่นถ้าไม่จำเป็น

7. การกำหนด cache size ที่ไม่เหมาะสมของ RecordSet CacheSize Property ของ RecordSet นั้น เป็น property ที่ใช้กำหนดจำนวน rows ที่ SQL Server จะ retrieve ข้อมูล ซึ่งถ้ากำหนดไว้ไม่เหมาะสมจะก่อให้เกิดการ ส่งผ่านข้อมูลใน NETWORK โดยไม่จำเป็น




 

Create Date : 28 มีนาคม 2550
0 comments
Last Update : 5 เมษายน 2550 15:00:40 น.
Counter : 851 Pageviews.

ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
  *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.