1 <ชื่อคุณสมบัติ="hibernateProperties">
2 <อุปกรณ์ประกอบฉาก>
3 <คีย์หลัก = "hibernate.dialect" > org.hibernate.dialect.Oracle9Dialect </prop >
4 <prop key="hibernate.show_sql">false</prop>
5 <!-- สร้าง/อัพเดตตารางฐานข้อมูลโดยอัตโนมัติเมื่อ JVM เริ่มทำงาน
6 <คีย์ prop="hibernate.hbm2ddl.auto"> อัปเดต </prop "> -->
7 <!-- ปิดการแบทช์เพื่อให้ข้อความแสดงข้อผิดพลาดดีขึ้นภายใต้ PostgreSQL
8 <คีย์พร็อพ = "hibernate.jdbc.batch_size"> 100 </ พร็อพ "> -->
9 <คีย์พร็อพ = "hibernate.jdbc.batch_size" > 50 </prop >
10 </อุปกรณ์ประกอบฉาก>
11 </ทรัพย์สิน><
ยิ่งตั้งค่าขนาดการดึงข้อมูลให้ใหญ่ขึ้น ฐานข้อมูลก็จะยิ่งถูกอ่านน้อยลงและความเร็วก็จะยิ่งเร็วขึ้นเท่านั้น ยิ่งขนาดการดึงข้อมูลมีขนาดเล็กลง ฐานข้อมูลก็จะยิ่งถูกอ่านมากขึ้นและความเร็วก็จะช้าลงตามไปด้วย
2. หากเป็นระบบที่มีขนาดใหญ่มาก แนะนำให้สร้างไฟล์ htm เร่งโปรโมทเพจ
3. อย่าใส่ความรับผิดชอบทั้งหมดในการจำศีล ปรับโครงสร้างโค้ดใหม่ ลดการดำเนินการในฐานข้อมูล พยายามหลีกเลี่ยงการใช้ในการดำเนินการระหว่างการสืบค้นฐานข้อมูล และหลีกเลี่ยงการดำเนินการสืบค้นแบบเรียกซ้ำ คุณภาพของโค้ดและเหตุผลของการออกแบบระบบจะกำหนด ระบบ. ระดับประสิทธิภาพ.
4. เมื่อทำการสืบค้นข้อมูลจำนวนมาก ให้ใช้ list() หรือ iterator() ด้วยความระมัดระวังเพื่อแสดงผลลัพธ์การสืบค้น
(1) เมื่อใช้ List() เพื่อส่งคืนผลลัพธ์ Hibernate จะเริ่มต้นผลลัพธ์การสืบค้นทั้งหมดเป็นวัตถุถาวร เมื่อชุดผลลัพธ์มีขนาดใหญ่
(2) เมื่อใช้ iterator() เพื่อส่งคืนผลลัพธ์ Hibernate จะเรียกใช้แบบสอบถามเพื่อเริ่มต้นวัตถุที่สอดคล้องกันทุกครั้งที่มีการเรียก iterator.next() เพื่อส่งคืนวัตถุและใช้วัตถุนั้นสำหรับข้อมูลจำนวนมากแต่ละแบบสอบถามจะ ถูกเรียก ใช้เวลามากขึ้น มีประโยชน์ที่จะใช้ iterator() เมื่อชุดผลลัพธ์มีขนาดใหญ่ แต่มีข้อมูลเดียวกันจำนวนมาก หรือเมื่อไม่ได้ใช้ชุดผลลัพธ์ทั้งหมด
5. ในความสัมพันธ์แบบหนึ่งต่อกลุ่มและหลายต่อหนึ่ง การใช้กลไกการโหลดล่าช้าจะทำให้วัตถุจำนวนมากถูกเตรียมใช้งานเมื่อมีการใช้ ซึ่งจะช่วยประหยัดพื้นที่หน่วยความจำและลดภาระในฐานข้อมูลและหากคอลเลกชัน ใน PO เมื่อไม่ได้ใช้งาน การโต้ตอบระหว่างฐานข้อมูลจะลดลง และลดเวลาการประมวลผลลง
6. เมื่อมี PO ที่เกี่ยวข้อง (วัตถุถาวร) หากใช้ default-cascade="all" หรือ "save-update" เมื่อเพิ่ม PO ใหม่ โปรดใส่ใจกับการดำเนินการมอบหมายของคอลเลกชันใน PO เพราะอาจทำให้เกิดการดำเนินการอัพเดตหลายครั้ง
7. สำหรับการดำเนินการ เช่น การเพิ่ม การแก้ไข และการลบข้อมูลจำนวนมากหรือการสืบค้นข้อมูลจำนวนมาก จำนวนการโต้ตอบกับฐานข้อมูลเป็นปัจจัยที่สำคัญที่สุดที่กำหนดเวลาในการประมวลผล การลดจำนวนการโต้ตอบเป็นวิธีที่ดีที่สุด เพื่อปรับปรุงประสิทธิภาพ ดังนั้นในระหว่างกระบวนการพัฒนา โปรดตั้งค่า show_sql เป็น true มีความเข้าใจอย่างลึกซึ้งเกี่ยวกับกระบวนการประมวลผลของ Hibernate และลองใช้วิธีการต่างๆ เพื่อปรับปรุงประสิทธิภาพ พยายามแสดงแต่ละหน้าให้มากที่สุดและลดการดำเนินการในฐานข้อมูลให้เหลือน้อยกว่า 100-150 รายการ ยิ่งน้อยยิ่งดี
ข้างต้นเป็นความคิดบางประการเกี่ยวกับการเพิ่มประสิทธิภาพประสิทธิภาพไฮเบอร์เนตในระหว่างการพัฒนาโปรเจ็กต์ด้วย struts+hibernate+spring