Le internal locking of MySQL est-il suffisant pour un site Web de petite à moyenne taille? Mes tables sont MyISAM. Il peut y avoir quelques centaines de personnes qui tapent simultanément sur une table spécifique avec SELECT et INSERT. Aucune des requêtes INSERT/UPDATE ne se chevaucherait. Autrement dit, aucun utilisateur ne mettra à jour le même ID de commentaire. INSERT's/UPDATE seraient des opérations uniques --- il n'y aurait pas de lecture de données et d'effectuer des opérations supplémentaires au sein de la même requête. En particulier, je suis en train de mettre en place un système de commentaire/chat pour mon site web. Au pire, il pourrait y avoir quelques centaines de personnes exécutant une instruction SELECT sur les tables de commentaire/discussion afin de lire de nouveaux messages. En ce qui concerne INSERT, il pourrait y avoir 100 (?) Personnes différentes essayant d'INSÉRER un nouveau commentaire à tout moment.Quand LOCK TABLES dans MySQL (tables MyISAM)?
J'ai trouvé this article dans une autre question sur SO, et il indique que LOCK TABLES n'est "jamais requis pour des opérations d'insertion, de mise à jour ou de suppression autonomes." Est-ce une bonne pratique pour la quantité de trafic DB que je pourrais avoir? TIA pour tout conseil.
Serait-il préférable de mettre en place une forme de verrouillage maintenant --- anticipant un plus grand public d'utilisateurs? Je crois comprendre que les tables MyISAM permettent des requêtes simultanées (INSERT/UPDATE/SELECT/etc.), Et qu'une variable système MySQL gère ces événements simultanés ([concurrent_insert] (http://dev.mysql.com/doc /refman/5.0/en/server-system-variables.html#sysvar_concurrent_insert)). Cette variable traite de la façon dont les tables MyISAM gèrent les trous (depuis DELETES/etc.) Au milieu des tables. Ces «trous» peuvent-ils être une source de corruption des données s'ils ne sont pas gérés correctement? TIA. – broncozr