MySQL kilitleme sorun

1 Cevap php

Ben yazarların bir dizi basit kurulum ve MySQL İSAM tablo ile çalışan okuyucular bir dizi var. Okuyucular sadece yeni satırlar için kontrol edilirken yazarlar sadece satırlar eklemiş olursunuz.

Tamam, bu yüzden varolan satırları değiştirerek değilim çünkü ben, bu durumda bir kilit gerekmez biliyoruz. Ancak benim Yazarlar does bir kilit gerektiğini bir daha tablo erişen. Bilgi Ben parça MySQL belgelerinde belirtilen aşağıdaki kısıtlaması hariç alakasız görünüyor:

A session that requires locks must acquire all the locks that it needs in a single LOCK TABLES statement. While the locks thus obtained are held, the session can access only the locked tables. For example, in the following sequence of statements, an error occurs for the attempt to access t2 because it was not locked in the LOCK TABLES statement:

Yani satır eklemek istediğiniz tabloyu erişmek için, bana performans sorunlarına neden olan, bunu kilitlemek için İSTİYORUM. Bu etrafında nasıl herhangi bir öneriniz?

1 Cevap

Genellikle kilit ve kilitleme ihtiyacı sorguları etrafında hemen kilidini. Belgeler sadece bir kilidi varken çalıştırmak sorguları herhangi bir set için, ilgili tüm tablolar kilitli olması gerektiğini belirten edilmektedir. Sen en kısa sürede bitirdiniz gibi kilidini ve diğer tabloları dokunabilirsiniz.

Ayrıca InnoDB diğer satırlarda diğer sorguları da yazarken okumak için kilitli olmayacak çünkü çoğu zaman performans için masa kilitleme tercih edilir satır düzeyinde kilitleme destekler düşünün.