Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Coba lagi kebuntuan ActiveRecord3

Saya bahkan tidak tahu ada plugin untuk melakukan ini :)

Inilah yang kami gunakan (tetapi Anda harus membungkus sendiri kueri yang rawan kebuntuan di dalamnya):

# Executes the given block +retries+ times (or forever, if explicitly given nil),
# catching and retrying SQL Deadlock errors.
def retry_lock_error(retries = 100, &block)
  begin
    yield
  rescue ActiveRecord::StatementInvalid => e
    if e.message =~ /Deadlock found when trying to get lock/ and (retries.nil? || retries > 0)
      retry_lock_error(retries ? retries - 1 : nil, &block)
    else
      raise e
    end
  end
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. myisam menempatkan table-lock di atas meja bahkan ketika berhadapan dengan kueri 'pilih'?

  2. Kueri dengan banyak nilai dalam satu kolom

  3. tanda kutip tunggal dalam SQL Query

  4. Mengekspor hasil kueri MySQL ke excel?

  5. Bagaimana cara mengimpor file sql ke database dengan mengabaikan baris X dalam file?