Η ρύθμιση του "max_seeks_for_key" πολύ ψηλά μπορεί να οδηγήσει σε διάφορους κινδύνους:
1. Αυξημένη είσοδος/εξόδου δίσκου: Οι υψηλότερες τιμές μπορούν να αναγκάσουν τη MySQL να εκτελεί περισσότερες λειτουργίες εισόδου/εξόδου δίσκου, γεγονός που μπορεί να οδηγήσει σε αυξημένη χρήση του δίσκου και πιο αργή απόδοση.
2. Αυξημένη χρήση μνήμης: Οι υψηλότερες τιμές μπορούν επίσης να προκαλέσουν τη χρήση περισσότερης μνήμης από τη MySQL, γεγονός που μπορεί να οδηγήσει σε αυξημένη χρήση μνήμης και ενδεχομένως ακόμη και σε εξάντληση της μνήμης.
3. Αυξημένη χρήση της CPU: Οι υψηλότερες τιμές μπορούν να αναγκάσουν τη MySQL να εκτελεί λειτουργίες με μεγαλύτερη ένταση CPU, γεγονός που μπορεί να οδηγήσει σε αυξημένη χρήση της CPU και ενδεχομένως ακόμη και σε εξάντληση της CPU.
4. Μειωμένη απόδοση: Οι υψηλότερες τιμές μπορεί να αναγκάσουν τη MySQL να αφιερώνει περισσότερο χρόνο στην εκτέλεση λειτουργιών εισόδου/εξόδου δίσκου και λιγότερο χρόνο στην εκτέλεση ερωτημάτων, γεγονός που μπορεί να οδηγήσει σε μειωμένη απόδοση και πιο αργούς χρόνους εκτέλεσης ερωτημάτων.
5. Αυξημένος κίνδυνος αδιεξόδων: Οι υψηλότερες τιμές μπορούν να αυξήσουν τον κίνδυνο αδιεξόδων, ειδικά σε περιβάλλοντα πολλαπλών νημάτων, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο περιμένοντας να ολοκληρωθούν οι λειτουργίες εισόδου/εξόδου του δίσκου.
6. Αυξημένος κίνδυνος κλειδώματος: Οι υψηλότερες τιμές μπορούν να αυξήσουν τον κίνδυνο αμφισβήτησης κλειδώματος, ειδικά σε περιβάλλοντα πολλαπλών νημάτων, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο περιμένοντας να ολοκληρωθούν οι λειτουργίες εισόδου/εξόδου του δίσκου.
7. Μειωμένη επεκτασιμότητα: Οι υψηλότερες τιμές μπορούν να μειώσουν την επεκτασιμότητα της MySQL, ειδικά σε περιβάλλοντα μεγάλης κλίμακας, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο στην εκτέλεση λειτουργιών εισόδου/εξόδου δίσκου και λιγότερο χρόνο στην εκτέλεση ερωτημάτων.
8. Αυξημένος κίνδυνος καταστροφής δεδομένων: Οι υψηλότερες τιμές μπορούν να αυξήσουν τον κίνδυνο καταστροφής δεδομένων, ειδικά σε περιβάλλοντα με υψηλή δραστηριότητα I/O δίσκου, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο στην εκτέλεση λειτουργιών εισόδου/εξόδου δίσκου και λιγότερο χρόνο στην εκτέλεση ερωτημάτων .
9. Αυξημένος κίνδυνος αποτυχίας δίσκου: Οι υψηλότερες τιμές μπορούν να αυξήσουν τον κίνδυνο αποτυχίας του δίσκου, ειδικά σε περιβάλλοντα με υψηλή δραστηριότητα I/O δίσκου, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο στην εκτέλεση λειτουργιών εισόδου/εξόδου δίσκου και λιγότερο χρόνο στην εκτέλεση ερωτημάτων .
10. Αυξημένος κίνδυνος αποτυχίας συστήματος: Οι υψηλότερες τιμές μπορούν να αυξήσουν τον κίνδυνο αποτυχίας του συστήματος, ειδικά σε περιβάλλοντα με υψηλή δραστηριότητα I/O δίσκου, καθώς η MySQL μπορεί να αφιερώνει περισσότερο χρόνο στην εκτέλεση λειτουργιών εισόδου/εξόδου δίσκου και λιγότερο χρόνο στην εκτέλεση ερωτημάτων .
Είναι σημαντικό να αξιολογήσετε προσεκτικά τους κινδύνους και τα οφέλη από τον ορισμό του «max_seeks_for_key» πολύ υψηλά και να λάβετε υπόψη τις συγκεκριμένες απαιτήσεις και περιορισμούς του περιβάλλοντός σας πριν κάνετε οποιεσδήποτε αλλαγές.
Αναφορές:[1] https://stackoverflow.com/questions/27176623/mysql-server-system-variables-max-seeks-for-key-practical-example
[2] https://www.oreilly.com/library/view/high-performance-mysql/9780596101718/ch04.html
[3] https://mariadb.com/kb/en/server-system-variables/
[4] https://aws.amazon.com/fr/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-related-to-performance /
[5] https://forums.percona.com/t/cpu-load-100/555