-
MySQL ได้เปลี่ยนจาก "ของเล่น" ที่อยู่ในมือของนักพัฒนาไปสู่ "ฐานข้อมูลโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดในโลก" ในปัจจุบัน กระบวนการดังกล่าวมาพร้อมกับการอัปเกรดเวอร์ชันผลิตภัณฑ์และการเพิ่มคุณลักษณะใหม่บางอย่าง (โดยเฉพาะคุณลักษณะฐานข้อมูลระดับองค์กร) MySQL ได้เปลี่ยนจาก "ของเล่น" ในมือของนักพัฒนาไปสู่ "ฐานข้อมูลโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดในโลก" กระบวนการนี้มาพร้อมกับการอัพเกรดเวอร์ชันผลิตภัณฑ์และการเพิ่มคุณสมบัติใหม่บางอย่าง (โดยเฉพาะคุณสมบัติฐานข้อมูลองค์กร) ขณะนี้ MySQL 5.0 ได้รับการพัฒนาอย่างสมบูรณ์แบบ จึงมีคนเพียงไม่กี่คนที่เรียก MySQL ว่าเป็น "ฐานข้อมูลของเล่น" อีกต่อไป ฟังก์ชันที่หลากหลายของ MySQL ตอบสนองความต้องการของผู้ใช้จำนวนมาก การดำเนินการล่าสุดของ Oracle แสดงให้เห็นว่าพวกเขาให้ความสำคัญกับ MySQL เป็นอย่างมาก - Oracle ได้แสดงความตั้งใจที่จะซื้อ MySQL หลายครั้ง
แผนงานผลิตภัณฑ์ MySQL
เริ่มจาก MySQL เวอร์ชันที่มีอิทธิพลมากกว่าและดูการอัปเดตของ MySQL
มายเอสแอล 4.0
MySQL 4.0 เปิดตัวในเดือนมีนาคม พ.ศ. 2546 ทำให้แอปพลิเคชันที่ใช้ MySQL ใหม่พร้อมใช้งานอย่างกว้างขวางมากขึ้น แต่ในเวอร์ชัน 4.0 นั้น MySQL ไม่รองรับขั้นตอนการจัดเก็บ ทริกเกอร์ ตัวชี้ฝั่งเซิร์ฟเวอร์ หรือมุมมอง MySQL 4.0 ได้รับการพัฒนาจากเวอร์ชัน 3.23 ได้รับการปรับปรุงอย่างมากเมื่อเทียบกับเวอร์ชัน 3.23 โดยหลักแล้วเหมาะสำหรับเว็บไซต์ต่างๆ
ต่อไปนี้เป็นคุณสมบัติใหม่หลักของ MySQL 4.0:
ดัชนี FULLTEXT: บางทีสิ่งที่ผู้ใช้คาดหวังมากที่สุดก็คือดัชนี FULLTEXT
FULLTEXT สร้างดัชนีในช่องข้อความ ซึ่งเป็นกลไกที่มีประสิทธิภาพและยืดหยุ่นสำหรับการค้นหาแบบบูลีนในดัชนี ตามประสบการณ์การพัฒนาทั่วไป นักพัฒนามักจะต้องสร้างดัชนีและเข้าถึงข้อมูลข้อความ และดัชนี FULLTEXT นั้นดีกว่าที่คิดไว้มาก
แม้ว่าโซลูชันจำนวนมากจะจำกัดอยู่เพียงดัชนีคำเต็ม แต่ดัชนี FULLTEXT ก็ไม่มีข้อจำกัดดังกล่าว ทำให้นักพัฒนาสามารถเพิ่มหรือแยกวลีได้
ANSI SQL UNION: รองรับคำสั่ง ANSI SQL UNION ซึ่งรวบรวมผลลัพธ์การสืบค้นลงในชุดผลลัพธ์
การดำเนินการหลายตาราง: สามารถดำเนินการ UPDATE และ DELETE แบบหลายตารางได้
คำสั่งใหม่: เพิ่มคำสั่งใหม่ที่ไม่เป็นมาตรฐานที่ผู้ใช้ DBMS อื่นๆ คุ้นเคย (เช่น IDENTITY และ TRUNCATE TABLE) รวมถึงฟังก์ชันใหม่ เช่น FOUND_ROWS() ซึ่งสามารถส่งคืนจำนวนบันทึกที่สามารถส่งคืนได้โดยไม่มีส่วนคำสั่ง LIMIT .
เครื่องมือจัดเก็บข้อมูล InnoDB: เครื่องมือจัดเก็บข้อมูล InnoDB เป็นคุณสมบัติมาตรฐานของเซิร์ฟเวอร์ในขณะนั้น และกลายเป็นตัวเลือกเพิ่มเติมในเวอร์ชัน 4.0 InnoDb เป็นประเภทตารางที่อนุญาตการทำธุรกรรมที่สอดคล้องกับ ACID แทนที่จะเป็นประเภทตาราง MyISAM เริ่มต้น ซึ่งสามารถเร่งความเร็วการใช้งานทั่วไปได้ แต่ไม่มีประโยชน์มากนักสำหรับการดำเนินการที่สำคัญ
ตาราง InnoDB ใช้การล็อกระดับแถว ซึ่งหมายความว่าการอัปเดตบันทึกจะล็อกเฉพาะระเบียนนั้น ไม่ใช่ทั้งตาราง การล็อกทั้งตารางจะค่อนข้างเร็วเมื่อส่วนที่เลือกเข้าถึงฐานข้อมูลขนาดใหญ่ (เช่นในกรณีของเว็บไซต์ส่วนใหญ่) แต่จะช้าลงเมื่อจำนวนส่วนแทรกและการอัปเดตใกล้ถึงจำนวนตัวเลือก การวิพากษ์วิจารณ์ MySQL มุ่งเน้นไปที่ปัญหาด้านความปลอดภัยและความสม่ำเสมอของตาราง MyISAM มานานแล้ว และตาราง InnoDB ที่สอดคล้องกับ ACID ก็ช่วยแก้ไขปัญหาเหล่านี้ได้อย่างมาก
การแคชแบบสอบถาม: MySQL 4.0 อาจเร็วกว่าในบางกรณี โดยหลักแล้วสามารถทำได้ผ่านการแคชคิวรี ซึ่งจัดเก็บผลลัพธ์คิวรีที่ซ้ำกันเพื่อปรับปรุงความเร็ว แม้ว่าแอปพลิเคชันที่พัฒนาแล้วจำนวนมากจะใช้ฟังก์ชันแคชคิวรีของตนเองในระดับโค้ดบางระดับก็ตาม ข้อความบางข้อความได้รับการปรับปรุงในเรื่องความเร็วด้วย
เซิร์ฟเวอร์แบบฝังตัว: MySQL 4.0 มาพร้อมกับไลบรารีเซิร์ฟเวอร์แบบฝังตัวที่อนุญาตให้แอปพลิเคชันใช้ MySQL เป็นฐานข้อมูลพื้นฐาน
latin1_de: MySQL 4.0 รองรับชุดอักขระเพิ่มเติม latin1_de ซึ่งช่วยให้มั่นใจว่าคำภาษาเยอรมันจะถูกจัดเก็บอย่างถูกต้อง
MyISAM: ปัจจุบันตาราง MyISAM ใน MySQL 4.0 รองรับลิงก์สัญลักษณ์ที่ระดับตาราง ดังนั้นผู้ใช้ Windows จึงสามารถสร้างลิงก์สัญลักษณ์ที่ระดับตารางได้ (ซึ่งจะใช้ได้กับผู้ใช้ Unix เสมอ)
โมเดลความปลอดภัย: โมเดลความปลอดภัยของ MySQL 4.0 ได้รับการปรับปรุง ทำให้ผู้ดูแลระบบสามารถให้สิทธิ์อนุญาตได้ละเอียดยิ่งขึ้น สิทธิ์ใหม่ช่วยให้ผู้ใช้สามารถสร้างตารางชั่วคราว ล็อคตาราง ดำเนินการจำลองแบบบางอย่าง ดูฐานข้อมูลที่มีอยู่ทั้งหมด และแม้กระทั่งเชื่อมต่อเมื่อถึงขีดจำกัดการเชื่อมต่อสูงสุด ซึ่งมีประโยชน์มากสำหรับ DBA เพื่อดำเนินงานฉุกเฉิน และแม้แต่อนุญาตให้เรียกใช้ขั้นตอนการจัดเก็บ ( คุณลักษณะนี้ถูกนำมาใช้ใน MySQL 5) DBA ยังสามารถจำกัดจำนวนการเชื่อมต่อ การอัปเดต หรือการสืบค้นที่ผู้ใช้สามารถทำได้ต่อชั่วโมงโดยใช้โหมดความปลอดภัยขั้นสูงอีกด้วย
MySQL 4 ได้รับการออกแบบให้ทำงานบน Novell Netware 6.0 นอกจากนี้ ตัวแปรเซิร์ฟเวอร์ MySQL จำนวนมากสามารถเปลี่ยนแปลงได้โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ ซึ่งมีประโยชน์มากเนื่องจากการรีสตาร์ทจะคืนค่าการตั้งค่าเก่า
มายเอสแอล 4.1
หลังจากเปิดตัว MySQL 4.1 สำหรับผู้ใช้บางราย 4.1 มีความเป็นไปได้ในการอัพเกรดที่น่าตื่นเต้นมากกว่า MySQL 4.0:
MySQL 4.1 รองรับแบบสอบถามย่อย
แบบสอบถามจำนวนมากสามารถเขียนได้อย่างมีประสิทธิภาพมากขึ้นโดยไม่ต้องใช้แบบสอบถามย่อย แต่มีข้อยกเว้นอยู่ แบบสอบถามย่อยเป็นคุณลักษณะมาตรฐานของ ANSI SQL
รองรับ Unicode (UTF-8) ช่วยให้สามารถปรับให้เป็นสากลได้กว้างขึ้น
แต่ละคอลัมน์ ตาราง หรือฐานข้อมูลสามารถมีชุดอักขระที่แตกต่างกันได้ ซึ่งจำเป็นหากข้อมูลถูกจัดเก็บในหลายภาษา
รองรับข้อมูลทางภูมิศาสตร์ (OpenGIS)
การส่งคำเตือนขั้นสูง หากยังไม่เพียงพอ MySQL 4.1 ก็สามารถส่งคำเตือนหลายรายการไปยังไคลเอนต์ได้ ซึ่งมีประโยชน์มากสำหรับการประมวลผลข้อมูลโดยรวม
ปรับปรุงความเร็วบางส่วน แต่การปรับปรุงความเร็วเหล่านี้อาจถูกชดเชยด้วยน้ำหนักที่เพิ่มขึ้นทั้งหมดของ MySQL 4.1
แม้ว่าคู่มือ MySQL จะเป็นหนึ่งในคู่มือที่ดีที่สุดที่เผยแพร่ แต่ MySQL 4.1 มาพร้อมกับคำสั่ง HELP ที่ใช้ได้กับเวอร์ชันนั้นเท่านั้น
รองรับตารางที่สืบทอดมา เช่น:
เลือก table1.field1 จากตาราง (เลือก * จาก table2) table3 โดยที่ table1.field1=table3.field1
รองรับการสืบค้นแบบหลายแถว อนุญาตให้เรียกใช้การสืบค้นหลายรายการ จากนั้นจึงอ่านผลลัพธ์สุดท้าย
คำชี้แจงการบำรุงรักษาต่างๆ จะถูกจัดเก็บไว้ในบันทึกไบนารี ช่วยให้คุณลดความซับซ้อนของงานบำรุงรักษาเมื่อจำลองข้อมูล
CREATE...LIKE ช่วยให้นักพัฒนาสามารถสร้างตารางใหม่ด้วยโครงสร้างที่แน่นอนของตารางที่มีอยู่ได้อย่างง่ายดาย
นอกจากนี้ คุณสมบัติเด่นสามประการของ MySQL 4.1 ได้แก่ การรองรับ OpenSSL ที่เสถียร คำสั่งเตรียมการทดสอบที่มากขึ้น และการทดสอบชุดอักขระหลายตัวสำหรับตารางที่มากขึ้น
MySQL 4.1 อาจเป็นเวอร์ชันแรกของ MySQL ที่ "เติบโตขึ้น" จริงๆ เนื่องจากคุณสมบัติและฟังก์ชันที่เพิ่มเข้ามาใหม่ในเวอร์ชัน 4.1 (เช่น ข้อมูลทางภูมิศาสตร์ คำสั่งเลือกย่อย ตารางที่ได้รับ) Oracle จึงเริ่มให้ความสำคัญกับ MySQL เป็นครั้งแรก
มายเอสคิวแอล 5.0
รองรับขั้นตอนการจัดเก็บ ขั้นตอนการจัดเก็บเป็นมาตรฐาน ANSI SQL ที่นักพัฒนาใช้กันมากที่สุดในสภาพแวดล้อมฐานข้อมูลอื่น สำหรับ MySQL ขั้นตอนนี้ถือว่าค้างชำระมานานแล้ว ไวยากรณ์ของขั้นตอนการจัดเก็บที่ MySQL 5.0 รองรับจะคล้ายกับ Oracle PL/SQL และ T-SQL
โปรแกรมทริกเกอร์ (เรียกว่า Stored Procedure เมื่อมีเหตุการณ์เกิดขึ้น)
ตัวชี้การสนับสนุน
รองรับประเภทข้อมูล VARCHAR อย่างแท้จริง ซึ่งแก้ไขข้อผิดพลาด MySQL VARCHAR ที่มีมายาวนาน
การรองรับดัชนี RTREE ในตาราง MyISAM จะทำให้การเข้าถึงข้อมูลทางภูมิศาสตร์เป็นเรื่องง่าย
มายเอสคิวแอล 5.1
เมื่อเปรียบเทียบกับเวอร์ชัน 5.0 แล้ว MySQL 5.1 ก็มีฟีเจอร์ใหม่บางอย่าง:
การสำรองข้อมูลออนไลน์ (อนุญาตให้เพิ่มการจำลองแบบทาสโดยไม่ต้องปิดเซิร์ฟเวอร์หลัก)
จริงๆ แล้วประเภท BIT จะใช้ 1 บิต ไม่ใช่ 1 อักขระ
การจำลองแบบที่ไม่ปลอดภัย
-