cari

Rumah  >  Soal Jawab  >  teks badan

php - Adakah mungkin pertanyaan dan perubahan data mysql berlaku pada masa yang sama?

Oleh kerana saya ingin melakukan proses serentak (konkurensi di sini ialah konkurensi kecil, iaitu, konkurensi beberapa orang), pentadbir latar belakang mengendalikan sekeping data pembayaran balik untuk menghalang beberapa pengurus daripada mengendalikan satu bahagian pada masa yang sama tanpa disedari pembayaran balik, ralat berlaku.

Pendekatan saya ialah menambah lock_time medan pada jadual dan menanyakan data yang lock_time adalah sama dengan 0. Selepas menanyakannya, tukar lock_time kepada masa semasa (saya menambah lock_time=0 sebagai keadaan di mana semasa kemas kini).

Soalan: Adakah terdapat sebarang kesesuaian jika saya melakukan ini?

Maksudnya, di bawah persekitaran yang ideal, dua orang boleh menanyakan sekeping data pada masa yang sama (menanya "secara serentak" dalam masa seminit atau saat),

Begitu juga, adakah mungkin untuk dua orang menukar medan tertentu bagi sekeping data pada masa yang sama (ditukar "pada masa yang sama" dalam masa seminit atau saat),

大家讲道理大家讲道理2794 hari yang lalu461

membalas semua(5)saya akan balas

  • 为情所困

    为情所困2017-05-16 13:06:36

    Jawapan kepada soalan anda adalah mungkin. Anda harus menggunakan kunci dan transaksi untuk mengelakkan masalah ini dan bukannya menggunakan medan baharu

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:06:36

    Baidu innodb kunci sudah memadai.

    balas
    0
  • 黄舟

    黄舟2017-05-16 13:06:36

    Anda boleh melihat konsep penguncian optimistik. Tambahkan medan nombor versi, anda boleh mengabaikannya semasa membaca data, menyemak nombor versi semasa mengemas kini data dan mengemas kini nombor versi. Perbezaan antara nombor versi dan lock_time anda ialah pendua mungkin berlaku jika lock_time tidak cukup tepat Nombor versi sentiasa +1 dan tiada masalah versi pendua

    balas
    0
  • 高洛峰

    高洛峰2017-05-16 13:06:36

    Kunci dan barang-barang hendaklah dapat memenuhi keperluan anda. Mari kita lihat dengan lebih dekat kedua-dua konsep Mysql ini.

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:06:36

    Idea anda hampir kepada penguncian optimistik Tukar lock_time kepada cap waktu untuk pengesahan. Ia juga mungkin untuk menggunakan kunci baris InnoDB untuk konkurensi kecil, dan pada dasarnya tiada kesukaran prestasi.

    balas
    0
  • Batalbalas