ฉันมีตารางฐานข้อมูลที่มีคอลัมน์ varchar(200)
นี่คือตารางที่มีข้อมูลบันทึกประวัติโดยที่ประมาณ 99.9% ของแถวในตารางมีข้อความเดียวกันกับแถวอื่นในตาราง
ขนาดของฐานข้อมูลและความเร็วในการค้นหากำลังเป็นปัญหา
ดังนั้นฉันจึงคิดว่าฉันสามารถย้ายค่า varchar ไปยังตารางอื่นที่มีค่าข้อความที่ไม่ซ้ำแล้วมีการอ้างอิงไปยังตารางนั้นสำหรับทุกแถวในตารางแรก แต่ก่อนที่จะเปลี่ยนสิ่งนี้ ฉันอยากจะรู้ว่ามีวิธีที่ง่ายกว่านี้หรือไม่ จะต้องทำอย่างไร
เช่น การตั้งค่าคุณสมบัติบางอย่างในคอลัมน์ตารางที่มีอยู่ของฉันซึ่งจะทำให้เกิดพฤติกรรมนี้โดยอัตโนมัติ เพื่อให้ฐานข้อมูลรักษาตารางที่มีข้อความไม่ซ้ำกันโดยอัตโนมัติ ฉันรู้ว่าสาเหตุนี้จะมีผลกระทบต่อประสิทธิภาพอย่างมากต่อการดำเนินการลบ แต่ก็แทบไม่เคยทำเลย นอกจากนี้ฉันอยากจะหลีกเลี่ยงการเปลี่ยนโปรแกรมที่แทรกลงในตารางบันทึกจริงๆ
ฉันใช้ MySQL อยู่แล้ว แต่ถ้าฐานข้อมูลอื่นสามารถทำได้ ก็เป็นตัวเลือกในการเปลี่ยนฐานข้อมูลอื่นด้วย (MariaDB หรืออื่น ๆ ?)
ขอบคุณ