ครั้งที่เพิ่งเริ่มหัดเริ่มเขียน เริ่มเรียนการเขียนโค๊ด
ยังจำความรู้สึกมึนงงและความโหด ของการเรียนรู้ได้
เรื่องอาร์เรย์ (Array) เป็นเรื่องหนึ่งในนั้น แม้จะผ่านนานเพียงใดก็ไม่อาจเข้าใจได้สักที
มิติเดียวว่าสับสนแล้ว แต่ยังมีการวนลูปสร้างอาร์เรย์หลายมิติ (Multi Dimension Array) ขึ้นมาอีก
ก็ไม่รู้ว่าจะใช้มันทำไมหลายชั้น ซับซ้อน ชวนปวดหัว
แต่เมื่อได้เขียนโปรแกรมเป็นเรื่องเป็นราว เรียกได้ว่าแทบขาดไม่ได้เลยกับการเรียกใช้แบบหลายมิติ เพราะช่วยประหยัดเวลา ทำให้โค๊ดสวยงาม และทำงานได้เร็วขึ้นอีกด้วย
ก่อนหน้านี้ผมเขียนโปรแกรมภาษา PHP ซึ่งมีความสะดวกและเรียกใช้งานอาร์เรย์ได้ง่ายมาก
แต่วันนี้ผมต้องเขียน VB6 ไปด้วย การเรียกใช้อาร์เรย์
ทำได้เพียงอ้างอิงผ่านคีย์ หรือดัชนีที่เป็นตัวเลขเท่านั้น
เทคนิคที่เคยใช้เลย ไม่ได้ใช้ ต้องปรับเปลี่ยนวิธีใหม่ โดยการฝากข้อมูลไว้ที่ออบเจ็กต์ต่างๆ
แล้วค่อยเรียกใช้ โดยการ While Loop เอาข้อมูลมาตรวจสอบ แทนการคิวรี่จากฐานข้อมูลทุกครั้ง
เพราะบางครั้งรายงานที่ค้นหาก็มีข้อมูลหลายร้อยรายการ การ JOIN หรือ คิวรี่ข้อมูลจากฐานข้อมูลใน LOOP จะเป็นการสิ้นเปลืองทรัพยาการอย่างมาก
ดังนั้นข้อมูลส่วนไหนที่มันเป็นข้อมูลตายตัว หรือไม่ค่อยเคลื่อนไหวมากนัก ผมจะคิวรี่ครั้งเดียวแล้วเก็บไว้ก่อน เมื่อต้องการแสดงผล ก็ดึงมาใช้ได้เลยภายใน LOOP ไม่ต้องคิวรี่ทุกครั้ง
ซึ่งวิธีนี้ทำให้ฐานข้อมูลทำงานน้อยลง
สำหรับการเขียนโปรแกรมด้วยภาษา PHP เพื่อลดจำนวนการคิวรี่ ดูได้จากบทความด้านล่างนี้
- จัดระเบียบซอร์สโค๊ด เพื่อให้ PHP ลดจำนวนการ query ฐานข้อมูล MySQL น้อยลง
- มาสร้างปฏิทิน รายงานยอดที่พนักงานทำได้ในแต่ละเดือน ด้วย PHP แบบง่ายๆกันครับ
ความคิดเห็น
แสดงความคิดเห็น