2014-02-03 3 views
0

У меня есть сценарий отправки массовых писем, и мне было интересно, какой из них лучше всего хранить эти письма BCC в моей БД.Какое оптимальное поле datatype mysql для хранения писем с копией

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

было бы нормально использовать только поле VARCHAR?

PD: В этом поле обычно будет храниться около 50 писем.

Заранее спасибо

EDIT:

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

+0

Если ваша система заставляет вас де-нормализовать ваши данные, то с ней что-то не так. – Quentin

+0

Вы хотите сохранить почтовый контент? Или предмет + контент? Или получатели? Или все? Как насчет времени отправки почты? – Reeno

+0

Я только что редактировал сообщение. спасибо – themazz

ответ

0

VARCHAR (255)

стандарт в любом веб-приложений предприятия

0

Я не буду использовать этот подход.

Во-первых, максимальная длина varchar равна 255, поэтому, если вы планируете хранить 50 адресов электронной почты, длина может составлять всего 5 символов, чего обычно недостаточно.

Вы можете использовать ТЕКСТ, но в любом случае, , хранящий более одного адреса в этом же поле, не является хорошим подходом. вы должны использовать строку для каждого адреса и использовать sendId или что-то подобное, чтобы связать их.

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

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

0

Согласно нашему правлению, вы хотите сохранить только почтовый контент. VARCHAR 255 ограничен 255 символами, поэтому, если почта превышает это (я предполагаю, что много писем превысит это), символы после позиции 255 будут потеряны.
Лучше использовать ТЕКСТ, который имеет предел 65,535 символов (см. http://www.sqlinfo.net/mysql/mysql_data_types.php), поэтому текст не будет разрезан.

Если вы cash можете предвидеть, что ваши письма также превысят лимит в 65,535 символов (но это очень много для почты), вы можете взглянуть на MEDIUMTEXT (16.777.215 символов) или даже на LONGTEXT (4.294.967.295 символов) ,

0

В соответствии с вашим требованием вы можете назначить тип данных как varchar(32765). В соответствии с MySQL documentation, ваша колонка should not be NULL.

Чтобы сохранить содержимое электронной почты, выберите mediumtext тип данных.

Смежные вопросы