2016-02-26 1 views
1

Я не хочу начинать обсуждение, поэтому я сохраняю свой вопрос до цифр.Производительность: получение данных из базы данных или их замена для создания новых данных

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

В моем случае это URL и Thumbnail_URL с одного и того же изображения.

Размер строки URL-адреса 72 символа.

 like image URL is 12345sss_a.jpg 
while Thumbnail URL is 12345sss_b.jpg 

Теперь Что бы лучше для меня, то есть наиболее эффективный способ

  1. Чтобы извлечь как URL, из таблицы.
  2. Чтобы извлечь один из таблицы и сделать 2nd, заменив символ.
+4

Почему вы не сравниваете оба варианта и не выбираете лучшее? – DevDonkey

+0

Получил это. Благодарим за предложение. – Mahroz

+0

Всегда ли это '_a' и' _b'?Затем вы могли бы избавиться от одного столбца и добавить суффиксы в PHP. – Paul

ответ

1

Зависит от размер вашей базы данных.

В нынешних условиях замена намного лучше, потому что ваш стол довольно большой.

1

Вы можете хранить только имя загруженного изображения в базу данных и загрузить реальное изображение, а также накатанные изображения на сервер и дать свое имя как imagename_80x80.jpg, imagename_200x200.jpg.

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

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

+0

Я думаю, что вы точно не поняли мой вопрос. – Mahroz

0

Плюс один для бенчмаркинга.

На самом деле, я сомневаюсь, что вы сможете сказать разницу, если у вас где-то есть ограничение ресурсов.

Все это основано на предположениях, но, я думаю, у вас есть PHP-код, который извлекает информацию об изображении на основе некоторых критериев. Дорогая часть в этом - это предложение «где» - если это медленно, все остальное будет медленным.

Число столбцов, которые вы возвращаете из этого запроса, не вызывает заметной разницы в производительности, если только вы не возвращаете огромное количество столбцов, или столбцы очень большие.

Таким образом, вы можете также получить оба изображения и столбцы эскизов в том же запросе.

С другой стороны - функция замены строки в PHP тоже довольно быстро, поэтому снова - если вы не показываете много изображений на странице, вы вряд ли увидите измеримую разницу. И если вы показываете много изображений на странице, время загрузки и рендеринг браузера гораздо важнее, чем строка PHP, заменяющая ...

0

Только для магазина 12345sss. Когда ВЫБОР, нажмите на суффикс, чтобы получить изображение или большой палец.