Tag Archives: sql

ຄຳສັ່ງ MySQL ທີ່ໃຊ້ເລື້ອຍໆ

ບັນຫາໃນການຍ້າຍເຊີບເວີຮອບນີ້ແມ່ນຕ້ອງຈັດການພວກຖານຂໍ້ມູນຫຼາຍຢ່າງ ເພາະຫຼາຍປີກ່ອນ (ກ່ອນໂຄວິດ) ບັນທຶກພາສາທີ່ບໍ່ແມ່ນອັງກິດລົງໄປໃສ່ latin1 ມັນກໍເລີຍອ່ານໃນຖານຂໍ້ມູນບໍ່ໄດ້ ແຕ່ສະແດງຜົນໜ້າເວັບໄດ້ ພໍຫຼາຍປີຕໍ່ມາຈະອັບເກຣດເປັນເວີຊັນໃໝ່ ມັນເຮັດແບບເກົ່າບໍ່ໄດ້ແລ້ວ ໜ້າເວັບຈະສະແດງຂໍ້ມູນຜິດພ້ຽນແບບໃນຖານຂໍ້ມູນ ເຊິ່ງເອີ້ນກັນວ່າບັນຫາ double encoding ກໍເລີຍຕ້ອງໃຊ້ເວລາຫຼາຍອາທິດໃນການຫາທາງແກ້ໄຂ

ຂໍ້ດີກໍຄື ການມີ AI ເຂົ້າມາຊ່ວຍກໍເຮັດໃຫ້ຂັ້ນຕອນຕ່າງໆ ງ່າຍຂຶ້ນພໍສົມຄວນ ແຕ່ AI ກໍບໍ່ໄດ້ສົມບູນເຕັມຮ້ອຍ ກໍເລີຍມີບັນຫາຫຼາຍຢ່າງໂດຍສະເພາະການໃຫ້ຄະແນະນຳຜິດໆ ເພາະມັນຫຼອນໄປເອງ ດັ່ງນັ້ນຈຶ່ງຕ້ອງມາຈົດຄຳສັ່ງທີ່ໃຊ້ເລື້ອຍໆ ເອົາໄວ້ອ້າງອີງໃນເທື່ອຕໍ່ໄປ

watch -n 1 ‘mysql -e “SHOW FULL PROCESSLIST\G”‘

ຄຳສັ່ງນີ້ຄ້າຍໆ top ກົດແລ້ວມັນຈະສະແດງສະຖານະການເຮັດວຽກຂອງ mysql ເພາະບາງເທື່ອເຮັດໆ ໄປແລ້ວມັນຄ້າງໄປເລີຍ ຕ້ອງເປີດອີກເຊດຊັນມາກວດເບິ່ງວ່າມັນເຮັດຫຍັງຢູ່ ຫຼື ຖ້າຈະເບິ່ງແບບເທື່ອດຽວຈົບກໍໃຊ້ຄຳສັ່ງ mysql -e “SHOW FULL PROCESSLIST\G” ກໍໄດ້

ອີກຄຳສັ່ງທີ່ໜ້າສົນໃຈແມ່ນ zstdcat smf_backup_2025.sql.zst |
sed -n ‘/DROP TABLE IF EXISTS smf_topics/,$p’ |
zstd -T0 -o smf_topics_tail.sql.zst

ຄຳສັ່ງນີ້ຈະແຍກເອົາຕາຕະລາງຊື່ smf_topics ອອກມາຈາກໄຟລ໌ smf_backup_2025.sql.zst ແລ້ວບັນທຶກເປັນໄຟລ໌ smf_topics_tail.sql.zst ເພື່ອໃຫ້ເຮົາໄດ້ສະເພາະບາງຕາຕະລາງທີ່ຕ້ອງການໃນໄຟລ໌ຖານຂໍ້ມູນຂະໜາດໃຫຍ່

ຕອນກວດສອບກໍໃຊ້ຄຳສັ່ງ tail -5 smf_topics_tail.sql ມັນກໍຈະສະແດງ 5 ແຖວສຸດທ້າຍມາໃຫ້ເບິ່ງ ຖ້າມັນຂຶ້ນວ່າ

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
— Dump completed on …

ກໍແປວ່າແຍກອອກມາຄົບຕາຕະລາງນັ້ນແລ້ວ