นี่คือคำสั่ง mysqlindexcheck ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
mysqlindexcheck - ระบุดัชนีตารางที่อาจซ้ำซ้อน
เรื่องย่อ
ตรวจสอบ mysqlindex [ตัวเลือก] db[:ตาราง] ...
DESCRIPTION
ยูทิลิตีนี้อ่านดัชนีสำหรับตารางอย่างน้อยหนึ่งตารางและระบุรายการซ้ำและ
ดัชนีที่อาจซ้ำซ้อน
ในการตรวจสอบตารางทั้งหมดในฐานข้อมูล ให้ระบุเฉพาะชื่อฐานข้อมูล เพื่อตรวจสอบเฉพาะ
ตาราง ตั้งชื่อตารางใน ฐานข้อมูลตาราง รูปแบบ. เป็นไปได้ที่จะผสมฐานข้อมูลและชื่อตาราง
คุณสามารถสแกนตารางในฐานข้อมูลใดก็ได้ ยกเว้นฐานข้อมูลภายใน MySQL,
INFORMATION_SCHEMAและ ประสิทธิภาพ_สคีมา.
ขึ้นอยู่กับประเภทดัชนี ยูทิลิตี้ใช้กฎต่อไปนี้เพื่อเปรียบเทียบดัชนี
(กำหนดเป็น idx_a และ idx_b):
· บีทรี
idx_b ซ้ำซ้อนกับ idx_a ถ้าหากครั้งแรก n คอลัมน์ใน idx_b ก็ปรากฏใน
idx_a ลำดับและเอกลักษณ์นับ
· กัญชา
idx_a และ idx_b ซ้ำกันก็ต่อเมื่อมีคอลัมน์เดียวกันใน
คำสั่งเดียวกัน ความเป็นเอกลักษณ์นับ
· เชิงพื้นที่
idx_a และ idx_b ซ้ำกันก็ต่อเมื่อมีคอลัมน์เดียวกัน (เพียงอันเดียว
คอลัมน์ได้รับอนุญาต)
· ข้อความเต็ม
idx_b ซ้ำซ้อนกับ idx_a ต่อเมื่อคอลัมน์ทั้งหมดใน idx_b รวมอยู่ใน idx_a
การสั่งซื้อนับ
ต้องการดู DROP คำสั่งที่จะปล่อยดัชนีที่ซ้ำซ้อน ระบุ --แสดงหยด ตัวเลือก. ถึง
ตรวจสอบดัชนีที่มีอยู่ ใช้ --รายละเอียด ตัวเลือกซึ่งพิมพ์เทียบเท่า สร้าง
ดัชนี (หรือ แก้ไข ตาราง สำหรับคีย์หลัก
ในการแสดงดัชนีคีย์ที่ไม่ใช่ไพรมารีที่ดีที่สุดหรือแย่ที่สุดสำหรับแต่ละตาราง ให้ใช้ --ดีที่สุด or
--แย่ที่สุด ตัวเลือก. ทำให้เอาต์พุตแสดงดัชนีที่ดีที่สุดหรือแย่ที่สุดจากตารางด้วย
10 แถวขึ้นไป ตามค่าเริ่มต้น แต่ละตัวเลือกจะแสดงดัชนีห้ารายการ หากต้องการแทนที่ ให้ระบุ
ค่าจำนวนเต็มสำหรับตัวเลือก
ในการเปลี่ยนรูปแบบของรายการดัชนีที่แสดงสำหรับ --show-ดัชนี, --ดีที่สุดและ
--แย่ที่สุด ตัวเลือก ใช้ค่าใดค่าหนึ่งต่อไปนี้กับ --รูปแบบ ตัวเลือก:
· ตะแกรง (เริ่มต้น)
แสดงผลในรูปแบบตารางหรือตารางเหมือนกับของ MySQL หน้าจอ
· CSV
แสดงผลในรูปแบบค่าที่คั่นด้วยเครื่องหมายจุลภาค
· แถบ
แสดงผลในรูปแบบแท็บแยก
· SQL
พิมพ์คำสั่ง SQL แทนรายการ
· แนวตั้ง
แสดงผลในรูปแบบคอลัมน์เดียวเช่นเดียวกับคำสั่ง \G สำหรับ MySQL
หน้าจอ
หมายเหตุ: --ดีที่สุด และ --แย่ที่สุด ไม่สามารถพิมพ์รายการเป็นคำสั่ง SQL
OPTIONS
ตรวจสอบ mysqlindex ยอมรับตัวเลือกบรรทัดคำสั่งต่อไปนี้:
· --ช่วย
แสดงข้อความช่วยเหลือและออก
· --ดีที่สุด[= ]
If --สถิติ ให้ จำกัดสถิติดัชนีให้ดีที่สุด N ดัชนี ค่าเริ่มต้น
of N คือ 5 หากละเว้น
· --รูปแบบ= , -NS
ระบุรูปแบบการแสดงรายการดัชนีสำหรับเอาต์พุตที่สร้างโดย --สถิติ. รูปแบบที่อนุญาต
ค่าคือ ตะแกรง, CSV, แถบ, SQLและ แนวตั้ง. ค่าเริ่มต้นคือ ตะแกรง.
· --เซิร์ฟเวอร์=
ข้อมูลการเชื่อมต่อสำหรับเซิร์ฟเวอร์ในรูปแบบ:
<ผู้ใช้งาน>[:passwd>]@เจ้าภาพ>[:พอร์ต>][:เบ้า>] หรือเข้าสู่ระบบเส้นทาง>[:พอร์ต>][:เบ้า>].
· --show-drops, -d
แสดง DROP คำสั่งสำหรับดรอปดัชนี
· --show-ดัชนี, -i
แสดงดัชนีสำหรับแต่ละตาราง
· --ข้าม, -ส
ข้ามตารางที่ไม่มีอยู่
· --สถิติ
แสดงสถิติประสิทธิภาพของดัชนี
· --คำกริยา, -v
ระบุจำนวนข้อมูลที่จะแสดง ใช้ตัวเลือกนี้หลายครั้งเพื่อเพิ่ม
ปริมาณข้อมูล ตัวอย่างเช่น, -v = ละเอียด, -vv = ละเอียดมากขึ้น, -vvv =
แก้จุดบกพร่อง
· --รุ่น
แสดงข้อมูลเวอร์ชันและออก
· -- แย่ที่สุด[= ]
If --สถิติ ให้มา จำกัดสถิติดัชนีให้แย่ที่สุด N ดัชนี ค่าเริ่มต้น
of N คือ 5 หากละเว้น
หมายเหตุ
คุณต้องระบุพารามิเตอร์การเชื่อมต่อ (ผู้ใช้ โฮสต์ รหัสผ่าน และอื่นๆ) สำหรับบัญชี
ที่มีสิทธิ์ที่เหมาะสมในการอ่านวัตถุทั้งหมดที่เข้าถึงได้ระหว่างการดำเนินการ
สำหรับ --รูปแบบ ตัวเลือก ค่าที่อนุญาตไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ นอกจากนี้ค่า
อาจถูกระบุเป็นคำนำหน้าที่ชัดเจนของค่าที่ถูกต้อง ตัวอย่างเช่น, --รูปแบบ=ก
ระบุรูปแบบกริด เกิดข้อผิดพลาดหากคำนำหน้าตรงกับค่าที่ถูกต้องมากกว่าหนึ่งค่า
เส้นทางไปยังเครื่องมือไคลเอนต์ MySQL ควรรวมอยู่ในตัวแปรสภาพแวดล้อม PATH ใน
เพื่อใช้กลไกการพิสูจน์ตัวตนกับเส้นทางการเข้าสู่ระบบ นี้จะช่วยให้ยูทิลิตี้เพื่อ
ใช้เครื่องมือ my_print_defaults ซึ่งจำเป็นสำหรับการอ่านค่าเส้นทางการเข้าสู่ระบบจาก
ไฟล์การกำหนดค่าการเข้าสู่ระบบ (.mylogin.cnf)
ตัวอย่าง
เพื่อตรวจสอบตารางทั้งหมดในฐานข้อมูลพนักงานบนเซิร์ฟเวอร์ภายในเครื่องเพื่อดูความเป็นไปได้
ดัชนีซ้ำซ้อนและซ้ำซ้อน ใช้คำสั่งนี้:
$ mysqlindexcheck --server=root@localhost พนักงาน
# ที่มาบน localhost: ... เชื่อมต่อแล้ว
# ดัชนีต่อไปนี้ซ้ำซ้อนหรือซ้ำซ้อน \
สำหรับพนักงานโต๊ะ.dept_emp:
#
CREATE INDEX emp_no ON Employee.dept_emp (emp_no) ใช้ BTREE
# อาจซ้ำซ้อนหรือซ้ำซ้อนของ:
ALTER TABLE พนักงาน.dept_emp เพิ่มคีย์หลัก (emp_no, dept_no)
# ดัชนีต่อไปนี้ซ้ำซ้อนหรือซ้ำซ้อน \
สำหรับพนักงานที่โต๊ะ.dept_manager:
#
CREATE INDEX emp_no ON พนักงาน.dept_manager (emp_no) โดยใช้ BTREE
# อาจซ้ำซ้อนหรือซ้ำซ้อนของ:
ALTER TABLE พนักงาน.dept_manager เพิ่มคีย์หลัก (emp_no, dept_no)
# ดัชนีต่อไปนี้ซ้ำซ้อนหรือซ้ำซ้อน \
สำหรับพนักงานโต๊ะ.เงินเดือน:
#
CREATE INDEX emp_no ON Employee.salaries (emp_no) ใช้ BTREE
# อาจซ้ำซ้อนหรือซ้ำซ้อนของ:
ALTER TABLE พนักงานเงินเดือน ADD PRIMARY KEY (emp_no, from_date)
# ดัชนีต่อไปนี้ซ้ำซ้อนหรือซ้ำซ้อน \
สำหรับพนักงานประจำโต๊ะ.titles:
#
CREATE INDEX emp_no ON พนักงาน.titles (emp_no) ใช้ BTREE
# อาจซ้ำซ้อนหรือซ้ำซ้อนของ:
ALTER TABLE พนักงานชื่อ ADD PRIMARY KEY (emp_no, title, from_date)
ลิขสิทธิ์
ใช้ mysqlindexcheck ออนไลน์โดยใช้บริการ onworks.net