Проверить входные данные по схеме MySQL или PHP?

Предположим, я хотел бы проверить, дублирован ли комментарий или нет.

У меня есть два варианта:

1) Создайте запрос к базе данных и проверьте его:
выберите * из комментариев, где content = $ santized_content и post_id = $ id

2) Создайте уникальный индекс для комментариев и post_id и поймайте ошибку MySQL.

Для моего сложного и загруженного приложения важно максимально уменьшить количество запросов к базе данных. Однако первый вариант более привычный и читабельный.

Вы можете обобщить этот вопрос на другие ситуации.

0

Решение

MySQL определенно быстрее, чем PHP. Я всегда предпочел бы использовать неудачный INSERT или REPLACE против подходящего ключа, чем проверка в PHP.

Единственное исключение, вероятно, состоит в том, что ваш ключ становится очень сложным, что, очевидно, создаст дополнительную нагрузку на MySQL для всех запросов, выполняемых к этой таблице. Тем не менее, нет универсального ответа на вопрос, что было бы слишком сложно, чтобы стоить делать. Это в основном вопрос реальных испытаний.

0

Другие решения

я предпочитаю номер 2,

  1. ваш скрипт PHP будет меньше кода.
  2. Он будет проверять автоматически всякий раз, когда комментарий дублируется или нет.

тогда это функция УНИКАЛЬНОЙ.

0

По вопросам рекламы [email protected]