Saya perlu mempertahankan tabel statistik untuk proyek, yang disusun oleh daftar item dan penggunaannya (Pikirkan sesuatu seperti situs web tempat Anda ingin menghitung tampilan halaman). Setiap kali item diterbitkan, saya harus meningkatkan penggunaan item tertentu.
Implementasi pertama saya adalah:
statistics(
id integer NOT NULL,
name character varying(255) NOT NULL,
usage integer NOT NULL DEFAULT 0,
);
UPDATE statistics
SET usage = usage + 1
WHERE name = '<name>';
Kekhawatiran saya adalah tentang kinerja dan konkurensi. Proses pembaruan akan dipakai oleh beberapa puluhan (mungkin 80-120) perangkat dan dapat terjadi beberapa kali per detik, jadi pertanyaan saya adalah:
1) akankah metode ini mempertahankan konkurensi? (yaitu jika lebih dari satu perangkat meminta pembaruan "pada saat yang sama", apakah setiap permintaan akan dihitung?)
2) dapatkah Anda menyarankan cara terbaik untuk mencapai hasil? Saya berharap untuk memiliki memuat dalam menulis pembaruan, sementara membaca akan saya lebih sering. Apakah ada fungsi khusus untuk meningkatkan nilai? Saya melihat "urutan" tetapi saya tidak yakin apakah itu cara yang benar ...
Terima kasih banyak sebelumnya atas sarannya
sumber