-
พื้นที่ที่ซ่อนอยู่ของ MySQL ถูกนำมาใช้ผ่านการตั้งค่าตัวแปรสภาพแวดล้อม TMPDIR หากไม่ได้ตั้งค่า TMPDIR MySQL จะใช้ค่าเริ่มต้นของระบบ ซึ่งมักจะเป็น /tmp, /var/tmp หรือ /usr/tmp MySQL ใช้ค่าของตัวแปรสภาพแวดล้อม TMPDIR เป็นชื่อพาธของไดเร็กทอรีที่บันทึกไฟล์ชั่วคราว หากไม่ได้ตั้งค่า TMPDIR MySQL จะใช้ค่าเริ่มต้นของระบบ ซึ่งมักจะเป็น /tmp, /var/tmp หรือ /usr/tmp หากระบบไฟล์ที่มีไดเร็กทอรีไฟล์ชั่วคราวมีขนาดเล็กเกินไป คุณสามารถใช้ตัวเลือก "-tmpdir" กับ mysqld เพื่อระบุไดเร็กทอรีในระบบไฟล์ที่มีพื้นที่เพียงพอ
ใน MySQL 5.1 ตัวเลือก "-tmpdir" สามารถตั้งค่าเป็นรายการหลายเส้นทาง ซึ่งใช้ในลักษณะวนเวียน บนแพลตฟอร์ม Unix เส้นทางจะถูกคั่นด้วยอักขระโคลอน uma; บนแพลตฟอร์ม Windows, NetWare และ OS/2 เส้นทางจะถูกคั่นด้วยอักขระอัฒภาค ";" โปรดทราบว่าเพื่อกระจายโหลดอย่างมีประสิทธิภาพ เส้นทางเหล่านี้ควรอยู่บนดิสก์จริงที่แตกต่างกัน แทนที่จะอยู่ในพาร์ติชันที่แตกต่างกันของดิสก์เดียวกัน
หากเซิร์ฟเวอร์ MySQL ถูกใช้เป็นทาสการจำลองแบบ "--tmpdir" ไม่ควรตั้งค่าให้ชี้ไปที่ไดเร็กทอรีบนระบบไฟล์ที่ใช้หน่วยความจำหรือไดเร็กทอรีที่จะถูกล้างเมื่อรีสตาร์ทโฮสต์เซิร์ฟเวอร์ สำหรับเซิร์ฟเวอร์ทาสการจำลอง ไฟล์ชั่วคราวบางไฟล์จำเป็นต้องถูกเก็บรักษาไว้เมื่อรีสตาร์ทเครื่อง เพื่อให้สามารถคัดลอกตารางชั่วคราวหรือดำเนินการโหลดข้อมูล INFILE ได้ หากไฟล์ในไดเร็กทอรีไฟล์ชั่วคราวสูญหายเมื่อรีสตาร์ทเซิร์ฟเวอร์ การจำลองแบบจะล้มเหลว
MySQL สร้างไฟล์ชั่วคราวทั้งหมดโดยปริยาย ด้วยวิธีนี้ คุณสามารถมั่นใจได้ว่าไฟล์ชั่วคราวทั้งหมดจะถูกลบเมื่อ mysqld ถูกยกเลิก ข้อเสียของการใช้ไฟล์ที่ซ่อนอยู่คือไฟล์ชั่วคราวขนาดใหญ่ที่ครอบครองระบบไฟล์จะไม่สามารถมองเห็นได้ในตำแหน่งเดียวกับไดเร็กทอรีไฟล์ชั่วคราว
เมื่อทำการเรียงลำดับ (เรียงตามหรือจัดกลุ่มตาม) MySQL มักจะใช้ไฟล์ชั่วคราว 1 ไฟล์ขึ้นไป เนื้อที่ดิสก์สูงสุดที่ต้องการถูกกำหนดโดยนิพจน์ต่อไปนี้:
(ความยาวของสิ่งที่เรียงลำดับ + ขนาดของ (ตัวชี้แถว))
* จำนวนแถวที่ตรงกัน
*2
ขนาดของ "ตัวชี้แถว" (ตัวชี้แถว) โดยปกติจะเป็น 4 ไบต์ แต่ในอนาคตสำหรับตารางขนาดใหญ่ ค่านี้อาจเพิ่มขึ้น
สำหรับการสืบค้น SELECT บางรายการ MySQL จะสร้างตาราง SQL ชั่วคราวด้วย ตารางเหล่านี้ไม่ใช่ตารางที่ซ่อนอยู่และมีชื่ออยู่ในรูปแบบ SQL_*
ALTER TABLE สร้างตารางชั่วคราวในไดเร็กทอรีเดียวกันกับไดเร็กทอรีตารางต้นฉบับ