- คือการเพิ่มดัชนีบนตัวอย่างรวดเร็วเปลี่ยนแปลงคอลัมน์เหมือน"lastUpdatedOn"คุ้มแล้วเหรอ
- วิธีคำนวณ tradeoff?
- ปล่อยให้ใครบางประเด็นฉันต้อย่างเป็นทางการเอกสารคู่มืออยู่ตอนที่แล้ว ทำ MySQL reindexes อยู่แถวแทนและปรับปรุงบนสร้างดัชนีค้นหาคอลัมน์
ไม่ว่าจะต้องมีดัชนีรวมทั้งเป็น"ตัวอย่างรวดเร็วเปลี่ยนแปลงคอลัมน์" คื น tradeoff.
เป็ UPDATE
ต้องการที่จะลบหนึ่งรายการในดัชนีและเพิ่มรายการใหม่อยู่ที่อื่นในดัชนี
ในทางกลับกันดัชนี ขอ greatly ความเร็วขึ้นเนื่องจากดัชนี
โปรดกำหนดตัวอย่างเช่นคอนกรีตแล้วเราจะได้คุยกันเกี่ยวกับค tradeoffs กกว่านี้อีกนะยะ!#
ปกติไม่UNIQUE
indexes(ขอแย้งหน่อย FULLTEXT
แล้ว SPATIAL
)เป็นคอยดูแลเรื่อดังนั้น:
มันเป็น"เปลี่ยนบัฟเฟอร์"(qv)ใน buffer_pool นว่าจะรักษาปรับปรุงดัชนีที่ยังไม่ได้ถูกแก้ไขบนดิสก์.
เมื่ DELETE
เกิดขึ้นเป็นรายการคือกเพิ่มเข้ากับการเปลี่ยนแปลชนจะพูดแบบนั้นดัชนีรายการต้องการจะถูกลบออกไป
สำหรับ UPDATE
สองรายการ อาจจะ จำเป็นต้องเข้าสู่ระ CB.
เมื่ SELECT
ใช้ช่างเป็นดัชนีมัเช็คสองคน CB และคนของจริงบนดิสก์ BTree สำหรับดัชนี นั่น BTree คือแคชข้อมูล(บล็อคโดยบล็อก)ใน buffer_pool. (เป็นบล็อกคือ 16KB และอาจถือเป็นร้อย(s)ของรายการ.)
ที่ CB คือกดลงชักโครกไปที่ดิสก์"อยู่เบื้องหลัง"หรือ"อย่างที่ต้องการ". นอที่พัวพันเกี่ยวข้องกับการรับข้อมูลเป็นบล็อกดัชนี(เว้นแต่อยู่แล้วแคชข้อมูล),กำลังปรับปรุงบางรายการ(การลบและ/หรือเพิ่มแฟ้ม)และเขียนกลับไปที่ดิสก์ ทั้งสองคนอ่านและเขียนเป็นแคชข้อมูลใน buffer_pool ดังนั้นเหมือนกันหรือก็เหมือนกันอาจจะเป็นทางกายภาพ I/O
MySQL ไม่"สร้างใหม่"เป็นปกติดัชนี("reindex")ยกเว้นผ่านทางแน่นอน ALTERs
หรือ OPTIMIZE
. นั่นคือการเปลี่ยนแปลงทั้งหมดนี่ทำให้ร์วีย์ดีที่ได้เจอคุณ การกระทำของ CB คือความโปร่งแสงที่ใช้งาน