cari

Rumah  >  Soal Jawab  >  teks badan

mysql - Bagaimana untuk mereka bentuk atau melaksanakan statistik data dalam php

Saya ingin melaksanakan beberapa statistik pada data, seperti mata pengguna, bilangan siaran, bilangan ulasan, dsb., jumlah bilangan siaran dalam bahagian, jumlah komen dan seumpamanya;

Contoh: Catatan pengguna meningkatkan mata, mengemas kini statistik bilangan siaran, menukar statistik siaran dalam bahagian yang sama, atau mungkin terdapat perubahan statistik lain.

Dalam kes ini, patutkah kita terus menggunakan statistik data table count() jika perlu atau menambah pelbagai medan statistik pada jadual dan melengkapkannya melalui transaksi apabila dicetuskan?

Saya secara peribadi lebih suka yang kedua, tetapi saya rasa agak tidak munasabah untuk menggunakan transaksi untuk memastikan ketekalan statistik? ?
Tetapi sekali lagi, jika transaksi tidak digunakan, beberapa ralat akan disebabkan oleh ralat statistik di beberapa tempat, seperti kesalahan paging?

Adakah anda mempunyai sebarang idea atau cadangan yang baik? Tolong beri saya nasihat!

过去多啦不再A梦过去多啦不再A梦2756 hari yang lalu630

membalas semua(7)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-16 12:04:55

    Sebaik-baiknya jangan gunakan kiraan Apabila jumlah data adalah besar, pangkalan data tidak dapat mengendalikan pertanyaan seperti ini, terutamanya pertanyaan seperti ini kepada pengguna.

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 12:04:55

    Bilangan tetap dan kemudian masukkan ke dalam cache

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-16 12:04:55

    Saya bukan master, tetapi jika saya melakukannya, saya akan meletakkan data seperti ini dalam redis.

    balas
    0
  • 为情所困

    为情所困2017-05-16 12:04:55

    [Latar Belakang]
    1 Masalah ini disebabkan oleh prestasi pangkalan data tidak dapat memenuhi senario perniagaan sedia ada
    2 Mengikut senario perniagaan yang anda berikan, data dibenarkan mempunyai ralat tertentu

    【Struktur Program】

    Struktur program sedia ada beroperasi dengan memanggil pangkalan data secara terus, tetapi prestasi pangkalan data tidak dapat memenuhi keperluan Pada masa ini, kami tidak boleh bergantung semata-mata pada pangkalan data, jadi kami perlu menambah lapisan [counter] antara pangkalan data

    .
    之前
    [程序] -> [数据库]
    之后
    [程序] -> [数据库]
          -> [计数器]
          

    Sebelum dan selepas pelarasan program, kita perlu menambah [aspek] dalam tiga pautan [tambah], [padam] dan [ubah suai] pangkalan data, yang merupakan acara afterSave, yang juga boleh difahami sebagai cangkuk
    Redis biasanya digunakan untuk [counter], kerana ia boleh Persistence

    【Nota diperlukan】
    1 Kerana operasi db mungkin biasa, tetapi operasi redis gagal, mungkin terdapat ralat data
    2 Memandangkan mungkin terdapat ralat, mekanisme pembetulan ralat diperlukan. Mekanisme ini boleh mengurangkan tekanan pada pelayan . Dalam kes kecil, gunakan kiraan atau jumlah mysql untuk mengemas kini
    3 atau gunakan [mekanisme transaksi] lain untuk memastikan keatoman operasi DB dan Redis.

    balas
    0
  • 怪我咯

    怪我咯2017-05-16 12:04:55

    Pengiraan InnoDB perlu mengimbas semua baris data dalam masa nyata, yang perlahan
    Myisam tidak boleh digunakan sangat
    Cadangan数据表添加统计字段

    balas
    0
  • 黄舟

    黄舟2017-05-16 12:04:55

    Statistik diproses menggunakan perkhidmatan bahagian belakang Sebagai contoh, bahagian belakang disambungkan kepada hamba

    balas
    0
  • 阿神

    阿神2017-05-16 12:04:55

    Orang pertama tidak mengesyorkan menggunakan borang count() untuk pengumpulan data, dan harus memilih bentuk kumulatif.
    Oleh kerana setiap kali data baharu ditambah, count() mesti digunakan untuk mengira, yang sangat menggembirakan untuk pangkalan data.
    Jadi adalah disyorkan untuk melakukan ini:
    1. Gunakan nosql untuk mengekalkan semua data statistik
    2 Apabila menambah data baharu, cetuskan modul untuk mengumpul data yang sepadan dan tulis ganti data asal.
    3 Untuk memastikan masalah nosql down berlaku, adalah disyorkan untuk menyimpan data statistik yang sepadan dalam pangkalan data dan menulis modul logik untuk menyimpan data nosql ke pangkalan data dengan kerap.
    4 Sudah tentu, anda boleh menggunakan kiraan dengan kerap (ini boleh dilakukan apabila pelayan melahu) dan semak semula sama ada statistik itu betul

    balas
    0
  • Batalbalas