วิธีทำความสะอาดและเพิ่มประสิทธิภาพตาราง wp_options และ Autoloaded Data
เผยแพร่แล้ว: 2022-09-28ในบทความนี้ คุณจะได้เรียนรู้วิธีล้างตาราง wp_options และข้อมูลที่โหลดอัตโนมัติ และปรับปรุงประสิทธิภาพฐานข้อมูลของคุณอย่างมาก ข้อมูลที่โหลดอัตโนมัติอาจช้าลงและส่งผลต่อประสิทธิภาพเว็บไซต์ของคุณ
มีโอกาสสำคัญที่การตั้งค่าโหลดอัตโนมัติบนไซต์ WordPress ที่เก่ากว่าและมีขนาดใหญ่กว่าที่จำเป็นมาก นี่เป็นเรื่องปกติของเว็บไซต์ที่เคยใช้ปลั๊กอินและธีมต่างๆ มาก่อนหรือเพิ่งได้รับการทดสอบเท่านั้น
ไซต์ WordPress ของคุณอาจใช้เวลาในการโหลดนานกว่าปกติเนื่องจากการสืบค้นข้อมูลหรือข้อมูลที่โหลดอัตโนมัติ เมื่อเราเพิ่มประสิทธิภาพฐานข้อมูล เรามักจะละเลยสิ่งที่สำคัญที่สุด กล่าวคือ การล้างข้อมูล wp_options และข้อมูลที่โหลดอัตโนมัติ
ด้านล่างนี้ คุณจะได้เรียนรู้ว่าโดยทั่วไปแล้วตาราง wp_option ควรมีข้อมูลเท่าใด เว็บไซต์ของคุณควรมีข้อมูลจำนวนเท่าใด และคุณจะทำความสะอาดตาราง wp_options และข้อมูลอัตโนมัติได้อย่างไร
สารบัญ
ตาราง wp_options คืออะไร
สำหรับเว็บไซต์ WordPress ของคุณ ฐานข้อมูล wp_options จะจัดเก็บข้อมูลที่หลากหลาย รวมถึง:
- URL ของเว็บไซต์, URL หลัก, หมวดหมู่เริ่มต้น, อีเมลของผู้ดูแลระบบ, รูปแบบเวลาและโพสต์ต่อหน้า
- การตั้งค่าสำหรับธีม วิดเจ็ต ปลั๊กอิน
- ข้อมูลและไฟล์ที่แคชไว้ชั่วคราว เป็นต้น
ฟิลด์ต่อไปนี้จะรวมอยู่ในตาราง
ฟิลด์โหลดอัตโนมัติในตาราง WP OPTIONS เป็นแนวคิดที่สำคัญที่สุดที่ควรทราบ ฟิลด์นี้สามารถมีค่าเป็น YES หรือ NO และ ROWS ที่มี YES จะโหลดข้อมูลบนหน้าเว็บทั้งหมดที่โหลดโดยใช้ wp โหลดตัวเลือกทั้งหมดโดยอัตโนมัติ และทำให้เว็บไซต์ของคุณช้าลงในที่สุด
ข้อมูลที่โหลดอัตโนมัติคืออะไร?
ตามชื่อที่แนะนำ ข้อมูลที่โหลดอัตโนมัติคือข้อมูลที่โหลดโดยอัตโนมัติในแต่ละหน้าของการโหลดหน้าเว็บไซต์ WordPress ของคุณ ไซต์ WordPress อาจประสบปัญหาหากฐานข้อมูล wp_options มีข้อมูลโหลดอัตโนมัติจำนวนมาก
แม้ว่าทุกปลั๊กอินควรโหลดข้อมูลในทุกหน้า แต่พารามิเตอร์ autoload ถูกตั้งค่าเป็น "ใช่" ตามค่าเริ่มต้นสำหรับนักพัฒนา ไซต์ WordPress อาจประสบปัญหาหากฐานข้อมูล wp_options มีข้อมูลอัตโนมัติจำนวนมาก
ข้อมูลที่โหลดอัตโนมัติมากเกินไปมีข้อมูลเท่าใด
ควรมีขนาดระหว่าง 300KB - 1MB อาจมีบางสิ่งที่สามารถปรับให้เหมาะสมหรือนำออกจากการโหลดอัตโนมัติได้หากคุณใช้งานถึงช่วง 3-5 MB ขึ้นไป และอะไรที่ใหญ่กว่า 10 MB จะต้องจัดการทันที
อะไรทำให้ข้อมูลโหลดอัตโนมัติ
ผู้เขียนปลั๊กอินหรือธีมโหลดข้อมูลลงในตาราง wp_options แทนที่จะใช้ตารางของตนเอง นักพัฒนาบางคนชอบปลั๊กอินที่ไม่สร้างตารางใหม่ อย่างไรก็ตาม ตัวเลือก WP ไม่ได้ออกแบบมาเพื่อรองรับแถวนับพัน
ตารางตัวเลือก wp ยังคงมีตัวเลือกจากปลั๊กอินหรือธีมที่ถูกลบออกจากเว็บไซต์ WordPress ซึ่งอาจส่งผลให้เกิดการสืบค้นข้อมูลที่โหลดอัตโนมัติที่ไม่จำเป็น แม้ว่าตัวเลือกที่โหลดอัตโนมัติอาจมีประโยชน์ แต่ก็อาจเป็นอันตรายได้เช่นกัน ปลั๊กอินบางตัวไม่ได้ล้างตัวเลือกการโหลดอัตโนมัติเมื่อปิดใช้งานหรือลบออกจาก WordPress และปลั๊กอินบางตัวไม่ต้องการการตั้งค่าทั้งหมดเพื่อโหลดอัตโนมัติ
หากคุณมีข้อมูลที่โหลดอัตโนมัติมากกว่าที่แนะนำ จำเป็นต้องล้างข้อมูลที่โหลดโดยอัตโนมัติทั้งหมดในตาราง wp_options ของคุณอย่างแน่นอน นอกจากนี้ ขอแนะนำให้คุณพยายามลดจำนวนระเบียนในตาราง wp_options ของคุณ โปรดสร้างการสำรองข้อมูลของฐานข้อมูลของคุณเสมอก่อนที่จะลบข้อมูลใดๆ เรามักจะแนะนำให้จ้างนักพัฒนา WordPress หากคุณไม่มั่นใจที่จะทำสิ่งนี้ด้วยตัวเอง
ข้อมูลถูกโหลดอัตโนมัติโดยปลั๊กอินเมื่อจริง ๆ แล้วควรตั้งค่าเป็น "ไม่"
วิธีตรวจสอบข้อมูลโหลดอัตโนมัติในตาราง wp_options
- เปิดแดชบอร์ด CyberPanel ของคุณ
- จากด้านขวา ให้คลิกที่ WordPress
- เลือกรายการ WordPress
- หลังจากคลิกที่รายการ WordPress คุณจะเห็นเว็บไซต์ WordPress ที่คุณได้ปรับใช้ เลือกไซต์ที่คุณต้องการปรับฐานข้อมูลให้เหมาะสม
- เมื่อคุณเลือกไซต์ WordPress ของคุณแล้ว ให้คลิกที่แท็บฐานข้อมูล
- ดูชื่อฐานข้อมูลของคุณ ตอนนี้เป็นฐานข้อมูลสำหรับไซต์ WordPress ที่คุณเลือก เราจะเข้าถึงฐานข้อมูลนี้ผ่าน PHPMyAdmin และปรับตาราง wp_options ให้เหมาะสม
หลังจากเห็นชื่อฐานข้อมูลของคุณ
- คลิกที่ฐานข้อมูลจากด้านซ้ายมือ
- เลือก PHPMYADMIN
- จากด้านซ้ายมือ คลิกที่ชื่อฐานข้อมูลของคุณ
- เลือก wp_options จากเมนูด้านซ้าย
- เลือก SQL จากเมนูด้านบน
- เพิ่มแบบสอบถาม SQL ต่อไปนี้แล้วคลิก GO
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';
ที่นี่คุณจะเห็นขนาดการโหลดอัตโนมัติทั้งหมดของคุณเป็น KB หากมากกว่า 3000KB (หมายถึง 2MB สูงกว่า) แสดงว่าถึงเวลาที่คุณจะมองหาการเพิ่มประสิทธิภาพฐานข้อมูล
คุณยังสามารถเพิ่มแบบสอบถามที่ยาวขึ้นเพื่อตรวจสอบสิบรายการแรกตามขนาด
SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes' UNION SELECT 'autoloaded data count', count(*) FROM wp_options WHERE autoload='yes' UNION (SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 10)
ผลลัพธ์การค้นหาด้านบนจะแสดงคีย์บนสุดดังที่คุณเห็นในภาพ
นี่คือคำสั่ง SQL ที่คุณสามารถใช้เพื่อแสดงรายการค่า 10 อันดับแรกตามความยาว:
SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 1
ดังที่คุณเห็นว่า option_name rewrite_rules มีความยาวสูงสุดที่ 9153 คุณสามารถตรวจสอบได้ว่าค่านี้สามารถปรับให้เหมาะสมหรือลบออกได้หรือไม่
วิธีล้างข้อมูล wp_options Table
เช่นเดียวกับที่เราทำก่อนหน้านี้ คุณจะต้องเข้าสู่ระบบ phpMyAdmin คลิกฐานข้อมูลของคุณทางด้านซ้าย แล้วคลิกแท็บ SQL จากนั้นป้อนคำสั่งต่อไปนี้แล้วกด "ไป"
SELECT * FROM `wp_options` WHERE `autoload` = 'yes'
หากไซต์ WordPress ของคุณใช้คำนำหน้าอื่นที่ไม่ใช่ wp_ คุณอาจต้องแก้ไขข้อความค้นหาด้านบน ชุดข้อมูลการโหลดอัตโนมัติทั้งชุดของตารางตัวเลือก wp จะแสดงให้คุณเห็นในลักษณะนี้
อ่านเอกสารของผู้พัฒนาปลั๊กอินเสมอเพราะอาจมีวิธีล้างตารางที่เหลือ ในสถานการณ์นั้น การติดตั้งปลั๊กอินใหม่ การเลือกตัวเลือกการล้างข้อมูลอัตโนมัติ จากนั้นการนำออกอย่างเหมาะสมในบางครั้งอาจปลอดภัยและง่ายกว่า เราจะสาธิตวิธีการล้างตารางด้วยตนเอง
เมื่อเราเลื่อนดูแถวต่างๆ เราสังเกตเห็นปลั๊กอินต่างๆ ที่ไซต์ไม่ได้ใช้หรือติดตั้งแล้ว เราจะใช้สิ่งนี้เป็นตัวอย่าง แต่ในกรณีนี้ เราเห็นแถวสถานะจำนวนมาก บนเว็บไซต์ที่ถูกถาม สถานะไม่ได้ใช้อีกต่อไป
ใช้คำสั่งนี้
SELECT * FROM `wp_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%status%'
- คุณสามารถเปลี่ยนคำลงท้ายด้วยชื่อไฟล์ได้ เช่น สถานะเป็นอีเมลเพื่อล้าง
เคลียร์ Transients
ตาราง wp_options เป็นที่ที่ WordPress เก็บบันทึกชั่วคราว เว้นแต่คุณจะใช้แคชวัตถุ สิ่งเหล่านี้มักมีวันหมดอายุและจะหายไปเมื่อเวลาผ่านไป แม้ว่าจะไม่เป็นเช่นนั้นเสมอไป พบบันทึกชั่วคราวที่ล้าสมัยหลายพันรายการในฐานข้อมูลหลายแห่งที่เราได้เห็น สิ่งสำคัญคือต้องจำไว้เสมอว่าทรานเซียนท์ไม่ได้โหลดโดยอัตโนมัติเสมอไป ในการพิจารณาว่ามีข้อมูลชั่วคราวที่โหลดอัตโนมัติหรือไม่ คุณอาจดำเนินการค้นหาที่คล้ายกับด้านล่าง
SELECT * FROM `wp_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%transient%'
คล้ายคลึงกัน คุณสามารถใช้การลบแบบสอบถามเพื่อล้างข้อมูลชั่วคราวที่ไม่จำเป็นอีกต่อไป
ตรวจสอบเว็บไซต์
นอกจากนี้ ให้พยายามสร้างข้อมูลสำรองของฐานข้อมูลทั้งหมดของคุณก่อนที่จะลบรายการออกจากตาราง การทดสอบเว็บไซต์ในส่วนหน้ามีความสำคัญเท่าเทียมกันหลังจากลบเนื้อหาฐานข้อมูล ตรวจสอบว่าเว็บไซต์ของคุณทำงานได้ดีและไม่รบกวนการทำงานของปลั๊กอินหรือธีม ขึ้นอยู่กับจำนวนรายการที่คุณลบออกจากตาราง wp_options ความเร็วที่ไซต์โหลดจริงจะแตกต่างกันไป แม้ว่าคุณควรลบระเบียนสองสามร้อยรายการเพื่อจุดประสงค์ในการทำความสะอาด แต่ก็อาจไม่ทำให้เกิดความแตกต่างมากนัก อย่างไรก็ตาม การลบรายการนับล้านรายการจะทำให้การโหลดเว็บไซต์ช้าลงอย่างมาก
บทสรุป
ไซต์ WordPress ของคุณอาจใช้เวลาในการโหลดนานกว่าปกติเนื่องจากการสืบค้นข้อมูลหรือข้อมูลที่โหลดอัตโนมัติ มีวิธีการและคำสั่งต่างๆ ที่เราใช้ในการล้างข้อมูลพิเศษหรือข้อมูลที่โหลดอัตโนมัติ เมื่อคุณล้างข้อมูล wp_tables และไฟล์ที่โหลดอัตโนมัติ คุณจะสามารถเพิ่มประสิทธิภาพฐานข้อมูลของคุณได้