27 Mayıs 2009, ÇARŞAMBA
MySQL kilitleme vermeden seçmek için bir yolu var mı?
Sorgu:
SELECT COUNT(online.account_id) cnt from online;
Ama online masa da bir olay tarafından değiştirildi show processlist çalıştırarak kilit görüyorum sık sık.
Select deyimi kilitleri neden olamaz MySQL herhangi bir gramer var mı?
Köle ve MySQL veritabanı üzerinde olduğunu yukarıda söylemeyi unuttum.
my.cnf:transaction-isolation = READ-UNCOMMITTEDekledim sonra
köle, hata ile bir araya gelecek:
Error 'Binary logging not possible. Message: Transaction level 'READ-UNCOMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'' on query
Bunu yapmak için, uyumlu bir yol var mı?
CEVAP
27 Mayıs 2009, ÇARŞAMBA
Bir makale başlıklı bulundu "NOLOCK" . MYSQL
https://web.archive.org/web/20100814144042/http://sqldba.org/articles/22-mysql-with-nolock.aspx
MSSQL aşağıdakileri yapın:
SELECT * FROM TABLE_NAME WITH (nolock)
ve MYSQL eÅŸdeÄŸerdir
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;
EDİT
Michael Mior aşağıdaki (yorum) önerdi
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
COMMIT ;
Bunu PaylaÅŸ:

JQuery ile bir dizi seçmek için bir se...
SQLite3, MySQL göç için kolay yolu?...
Python'ın en etkili listesinde en...
Vim: görsel modunda metin blokları seç...
Hızlı mysql bir tablo kopyalamak için ...