Mysql
 sql >> база данни >  >> RDS >> Mysql

Как ефективно да проектирам MySQL база данни за моя конкретен случай

Имате релационна схема като тази:

Има два начина за решаване на това. Първият, "чистият" е да изградите вашата таблица "харесвам" и да направите "count(*)" в съответната колона.

Вторият би бил да съхранявате във всеки коментар брояч, указващ колко нагоре и надолу са били там. Ако искате да проверите дали конкретен потребител е гласувал за коментара, трябва да отметнете само един запис, който можете лесно обработвайте като собствена заявка и ги обединете две извън вашата база данни (за това използвайте заявка, която води до comment_id и вида на гласуването, което потребителят е направил в конкретна нишка.)

Вашият подход със списък, разделен със запетая, не е много ефективен, тъй като не можете да го анализирате без по-висок интелект или огромно количество синтактични низове. Ако имате база данни - използвайте я!

(„Една информация – един набор от данни“!)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортиране в csv/excel начин за включване на водеща нула

  2. Вземете последните записи с помощта на GROUP BY

  3. MySQL Изберете... за актуализация с индекс има проблем с едновременността

  4. Пуснете неназован външен ключ в MySql

  5. Как мога да избера реда с най-висок идентификатор в MySQL?