ในทุกระบบการจัดการฐานข้อมูล มีความจำเป็นอย่างยิ่งในการทำความเข้าใจเขตเวลาการดำเนินงานเพื่อการดำเนินงานที่ราบรื่น ระบบฐานข้อมูล MySQL ก็ไม่มีข้อยกเว้น การตั้งค่าโซนเวลาเป็นส่วนสำคัญของการกำหนดค่าระบบซึ่งมีอิทธิพลอย่างมากต่อพฤติกรรมของอินพุตและเอาต์พุตข้อมูลตามเวลา
เมื่อต้องจัดการกับข้อมูลระหว่างประเทศหรือร่วมมือกับนักพัฒนาระยะไกลทั่วโลก การทำความเข้าใจการตั้งค่าเขตเวลา MySQL ของคุณสามารถช่วยป้องกันข้อผิดพลาดและความไม่สอดคล้องกันได้ เรามาเจาะลึกการทำความเข้าใจวิธีตรวจสอบเขตเวลาของฐานข้อมูล MySQL ของคุณ และหารือในรายละเอียดเกี่ยวกับไลบรารีหลักและฟังก์ชันที่เกี่ยวข้องกับการดำเนินการนี้
การตรวจสอบเขตเวลาในฐานข้อมูล MySQL
โซนเวลาใน MySQL ได้รับการจัดการโดยใช้โซนเวลาของระบบและโซนเวลาของเซิร์ฟเวอร์ MySQL ซึ่งอาจเหมือนกันหรือต่างกันก็ได้ ขึ้นอยู่กับการตั้งค่าของคุณ หากต้องการตรวจสอบเขตเวลาของระบบ MySQL คุณสามารถใช้ตัวแปร 'SYSTEM' หากต้องการตรวจสอบเขตเวลาของเซิร์ฟเวอร์ MySQL คุณสามารถใช้ตัวแปร 'time_zone'
หากต้องการรับการตั้งค่าเขตเวลาปัจจุบันในฐานข้อมูล MySQL คุณสามารถใช้รหัสต่อไปนี้:
SELECT @@global.time_zone, @@session.time_zone;
ที่นี่ '@@global.time_zone' หมายถึงการตั้งค่าเขตเวลาทั่วโลกในปัจจุบัน และ '@@session.time_zone' หมายถึงเขตเวลาเซสชันปัจจุบันใน MySQL
การทำความเข้าใจรหัส
ด้วยการดำเนินการค้นหานี้ เซิร์ฟเวอร์ SQL จะส่งกลับค่าของโซนเวลาสากลและโซนเวลาเฉพาะเซสชัน MySQL จัดการสองครั้งนี้อย่างชัดเจน ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องพิจารณาทั้งสองอย่างเมื่อต้องรับมือกับข้อมูลที่เกี่ยวข้องกับเวลา
ในกรณีที่ฐานข้อมูล MySQL ถูกตั้งค่าเป็น 'ระบบ' หมายความว่ากำลังใช้เวลาของระบบ ซึ่งได้มาจากเครื่องที่ติดตั้งเซิร์ฟเวอร์ MySQL อย่างไรก็ตาม หากมีค่าที่แตกต่างกัน ค่าเหล่านั้นจะถูกตั้งค่าเป็นเซิร์ฟเวอร์ MySQL ตัวอย่างเช่น '+02:00' ระบุว่าเซิร์ฟเวอร์ถูกตั้งค่าเป็นเขตเวลาสองชั่วโมงก่อนเวลาสากลเชิงพิกัด (UTC)
การปรับการตั้งค่าโซนเวลา
สำหรับการปรับเปลี่ยนโซนเวลาที่จำเป็นของเซิร์ฟเวอร์ MySQL ของคุณ MySQL จะจัดเตรียมตารางโซนเวลาที่กำหนดไว้ล่วงหน้าซึ่งเต็มไปด้วยข้อมูลโซนเวลา ตารางเหล่านี้จำเป็นต้องได้รับการเติมอย่างเหมาะสมก่อนจึงจะสามารถใช้เขตเวลาที่ตั้งชื่อได้ ต่อไปนี้เป็นคำสั่งง่ายๆ สำหรับการตั้งค่าเขตเวลาทั่วโลก:
SET GLOBAL time_zone = '+8:00';
แทนที่ '+8:00' ด้วยค่าโซนเวลาที่คุณต้องการ โปรดจำไว้ว่า การเปลี่ยนแปลงใดๆ ในตัวแปร 'GLOBAL time_zone' จำเป็นต้องมีสิทธิ์ 'SYSTEM_VARIABLES_ADMIN' หรือ 'SUPER' และไม่ส่งผลต่อการเชื่อมต่อไคลเอ็นต์ที่มีอยู่
ไลบรารีและฟังก์ชันเวลาของ MySQL
MySQL มีชุดฟังก์ชันวันที่และเวลา และไลบรารีที่เกี่ยวข้องที่จัดการการแยกวิเคราะห์ จัดการ และจัดรูปแบบเวลา ฟังก์ชันที่ใช้บ่อยที่สุดคือ NOW(), CURDATE(), CURTIME(), DAYNAME(), MONTHNAME() ฯลฯ
โดยรวมแล้ว การจัดการและทำความเข้าใจเขตเวลาในระบบฐานข้อมูล MySQL ถือเป็นงานสำคัญที่นักพัฒนาทุกคนควรเข้าใจ ความรู้นี้มีความสำคัญอย่างยิ่งในการหลีกเลี่ยงปัญหาคอขวดของข้อมูลที่เกี่ยวข้องกับเวลาและข้อผิดพลาดในการคำนวณ โดยเฉพาะอย่างยิ่งจากอินพุตและเซิร์ฟเวอร์ข้อมูลที่กระจายตามภูมิศาสตร์ ในฐานะนักพัฒนาที่เกี่ยวข้องกับฐานข้อมูลและ SQL ตรวจสอบให้แน่ใจว่าการตั้งค่าเวลาฐานข้อมูลของคุณได้รับการตั้งค่าอย่างถูกต้องเพื่อให้ตรงกับความคาดหวังและความต้องการของคุณ
