Размер базы данных и скорость обработки PHP - PullRequest
2 голосов
/ 03 июня 2011

В настоящее время в моем приложении есть настройка, при которой после отправки данных PHP обрабатывает эти данные, используя несколько функций, а затем помещает их в базу данных, например,

Быстрая коричневая лиса перепрыгивает через ленивого.собака

становится SEO-титулом

the-quick-brown-fox-jumps-over-the-lazy-dog

Эта строка хранится в моей базе данных в title_seo, но мой вопрос заключается в следующем.

Что важнее:

  • Размер базы данных для хранения этих дополнительных проанализированных строк
  • Или ресурсы, использованные для их преобразования

Теперь, когда я говорю «ресурсы, использованные для их преобразования», я имею в виду, что если бы я должен был удалить столбец из базы данных, а затем проанализироватьобщий заголовок каждый раз, когда я выводю содержимое.

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

Что меня больше беспокоито?

Ответы [ 5 ]

7 голосов
/ 03 июня 2011

Ни один из них.

В этом случае вычислительные затраты минимальны. Но хранение seo_title в вашей таблице может позволить вам change the url заголовка вашей статьи к тому, что вы хотите.

Так что я бы оставил title_seo в БД

2 голосов
/ 03 июня 2011

Мне нечего добавить к ответу @ yes123, но, в конце концов, вся идея в том, что вы должны посмотреть, сможете ли вы сохранить больше данных в базе данных, чтобы предотвратить нежелательные вычисления, не принимайте это какправило, но в основном я предпочитаю хранить больше данных в БД, чем делать больше вычислений.

В вашем случае вычисления для преобразования строки в строку SEO выглядят довольно просто, поэтому это не имеет значения, но иногда,у вас есть таблица с несколькими вещами, такими как цены, количество единиц, скидка и т. д., лучше вычислять цену при добавлении строк, чем вычислять ее каждый раз, когда вы хотите отобразить ее.

Надеюсь, я смогу помочь!

2 голосов
/ 03 июня 2011

Условно говоря, место на жестком диске считается дешевле, чем время обработки.Поэтому лучше всего тратить время на обработку, конвертируя заголовок в заголовок SEO один раз и сохраняя их оба в базе данных.

0 голосов
/ 03 июня 2011

если у вас миллионы страниц, seo_title в БД - плохая идея. Хороший - это иметь только текст с кэшированным значением.

Если у вас меньше 10 миллионов страниц, но больше 1 миллиона, - возможно, для дБ потребуется отдельная таблица / таблицы для заголовка

Если у вас меньше записей, - никакой разницы.

PS. Подумываю над размером сайта <-> количество посетителей.

0 голосов
/ 03 июня 2011

На этот вопрос часто отвечают «в зависимости от ваших собственных потребностей».Любое программное обеспечение должно иметь баланс между вычислительной мощностью и используемой памятью.

Однако, как многие люди говорят в наши дни, «дисковое пространство дешево».

Итак, возвращаясь к исходной точке, спроситесамостоятельно, если у вас будет много данных и где вы будете их хранить (ваш собственный сервер, Amazon S3 и т. д.), но я выберу опцию «хранить только один раз».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...