นี่คือการอภิปรายด้วยตนเองและเพื่อนร่วมงานบางคนของฉันมีและคิดว่าฉันจะออกมาที่นี่และดูว่ามีความเห็นเป็นเอกฉันท์เกี่ยวกับเรื่องนี้หรือไม่
โดยทั่วไปจะมีความคิดเห็น 2 ข้อต่อไปนี้ในการเรียกฐานข้อมูล: 1. ทำการโทรครั้งใหญ่เพื่อรับทุกสิ่งที่อาจจำเป็นในการลดฐานข้อมูลจำนวนการโทร DB 2. ทำการโทรแยกขนาดเล็กลงตามสิ่งที่ร้องขอเพื่อลดขนาดของ การเรียก DB
ที่ซึ่งสิ่งนี้กำลังเข้ามาเล่นโดยเฉพาะอย่างยิ่งอยู่ในรหัสทั่วไป เราจะใช้ตัวอย่างของคลาสพนักงานที่ค่อนข้างตรงไปตรงมา
สมมติว่าคลาสพนักงานของคุณมี 10 ค่าแอตทริบิวต์ (ชื่อนามสกุลจ้าง ฯลฯ ) แล้วแอตทริบิวต์ 2 คลาส ... 1 ชี้ไปที่แผนกระดับแล้ว 1 ผู้ควบคุมที่ชี้กลับไปยังวัตถุพนักงานอื่น
ในความคิดที่ # 1 คุณจะต้องทำการโทรหนึ่งครั้งเพื่อส่งคืนข้อมูลพนักงานรวมถึงฟิลด์ที่จำเป็นในการเติมแอตทริบิวต์แผนกและหัวหน้างาน ... หรืออย่างน้อยฟิลด์ที่ใช้บ่อยที่สุดจากวัตถุย่อยเหล่านั้น
ในใจชุดที่ 2 คุณจะเติมข้อมูลอ็อบเจกต์ของพนักงานในตอนแรกจากนั้นใส่เฉพาะออบเจ็กต์ของแผนกและหัวหน้างานหากมีการร้องขอจริงๆ
ท่าทางของ 2 ค่อนข้างตรงไปตรงมา ... ลดขนาดของคำขอและจำนวนวัตถุฐานข้อมูลที่ต้องกดแต่ละครั้งที่มีการร้องขอ ท่าทางที่ # 1 คือแม้ว่ามันจะสามารถดำเนินการได้อย่างถูกต้องความจริงที่แท้จริงว่ารหัสจะต้องทำให้การเชื่อมต่อหลาย ๆ จะทำให้เกิดความเครียดมากขึ้นในการเชื่อมต่อระหว่างเว็บเซิร์ฟเวอร์และฐานข้อมูลเมื่อเทียบกับการลดมัน
แรงผลักดันที่อยู่เบื้องหลังการค้นคว้าสิ่งนี้คือปริมาณการรับส่งข้อมูลระหว่างเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ฐานข้อมูลของเราไม่สามารถควบคุมได้