เป็นไปไม่ได้ที่จะบอกว่าการออกแบบฐานข้อมูลเฉพาะนั้นไม่ดีโดยไม่ทราบว่าแอปพลิเคชันกำลังทำอะไรอยู่รูปร่างของข้อมูลการคาดการณ์ประสิทธิภาพเป็นต้น ในขณะที่โดยทั่วไปการทำให้เป็นมาตรฐาน (ในระดับหนึ่ง) ถูกมองว่าเป็นแนวปฏิบัติที่ดีที่สุด แต่ก็เป็นเรื่องธรรมดาที่พื้นที่ฐานข้อมูลผิดปกติด้วยเหตุผลด้านประสิทธิภาพการทำงานที่ดีและไม่ดีจะเปิดกว้างสำหรับการสนทนาโดยไม่มีข้อมูลมาก
เพิ่มวิธีการมากมายที่สามารถนำไปใช้กับวัตถุในการแมปเชิงสัมพันธ์และสิ่งต่าง ๆ มีความซับซ้อนมากขึ้นเนื่องจากโครงสร้างฐานข้อมูล "ดีที่สุด" จะขึ้นอยู่กับโมเดลวัตถุเฉพาะระดับการสืบทอดและอื่น ๆ
ด้วยการใช้ขนาดเดียวเหมาะกับวิธีการคงอยู่ของไลบรารี ORM เกือบทุกครั้งจะสร้างโครงสร้างฐานข้อมูลที่ไม่เหมาะสมที่สุดสำหรับสถานการณ์ใด ๆ และจะใช้บางสิ่งที่สามารถเห็นได้ว่าเป็นการปฏิบัติที่ไม่ดีสำหรับสถานการณ์นั้น ๆ
แน่นอนว่าคุณสามารถเขียน ORM ที่ทำให้เป็นมาตรฐานได้ แต่คุณจะเห็นความหมายของประสิทธิภาพการทำงานที่ค่อนข้างหนักสำหรับการแทรกทุกครั้งลงในตารางหลักจำเป็นต้องสแกนตารางค้นหาต่างๆเพื่อดูว่ามีค่าอยู่หรือไม่หากพวกเขาได้รับกุญแจ ไม่ต้องดำเนินการแทรกที่เกี่ยวข้อง
(เมื่อคุณทำสิ่งนี้ด้วยมือคุณสามารถตัดบางส่วนได้ตามที่คุณรู้ว่าคุณแสดงมันด้วยรายการแบบหล่นลงที่มีค่าที่ถูกต้องเท่านั้นดังนั้นคุณไม่จำเป็นต้องค้นหาสิ่งเหล่านี้คุณเพียงแค่ใช้กุญแจที่มีความสุข จะถูกต้อง ORM ไม่สามารถสร้างสมมติฐานได้เนื่องจากไม่ได้ควบคุม UI)
แต่สิ่งที่คุณต้องจำไว้ก็คือพวกเขาไม่ได้ตั้งเป้าหมายที่จะปรับประสิทธิภาพของฐานข้อมูลหรือความถูกต้องของข้อมูลให้ดีที่สุด หากโครงสร้างเฉพาะของข้อมูลของคุณมีความสำคัญต่อคุณคุณจำเป็นต้องใช้รหัสการแมป object / RDBMS ด้วยมือหรืออย่างน้อยที่สุดทำการประเมินรายละเอียดของไลบรารีทั้งหมดที่มีอยู่และเลือกโครงสร้างที่ตรงกับความต้องการของคุณมากที่สุด ( ถ้ามี)
โดยพื้นฐานแล้วจะเป็นไปตามข้อกำหนดและการแลกเปลี่ยนระหว่างข้อมูลที่มีโครงสร้างดีประสิทธิภาพของฐานข้อมูลและความเร็วในการพัฒนา เช่นเดียวกับการแลกเปลี่ยนหลายครั้งคุณไม่ได้เลือกทั้งสามอย่าง