Пара вопросов касаемо php и mysql

Статус
Закрыто для дальнейших ответов.

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
1. Где лучше хранить текстовую информацию размером (10-500 символов)? База или .txt файл, а в базе путь к нему? Поиск по этому тексту не используется и всё остальное тоже(текст только на вывод);

2. Как лучше сделать "корзину" для писем? Те письма, которые удалены пользователем. Добавить в таблицу со всеми письмами поле "unset" и если unset = 1, то удалено, иначе не удалено. Ну и выводить уже исходя из этого параметра на страницу. Или же сделать отдельную таблицу(точную копию таблицы с письмами) и туда копировать те письма, удаленные пользователем, а из старой удалять полностью;

3. Недавно мне задали вопрос и я не смог на него ответить. Существуют ли в MYSQL иные способы "связи" между столбцами или таблицами? Например, если в одной таблице меняется какой-то столбец, точнее его содержимое, то и у другой таблицы, которая связана с этой таблицей тоже автоматически меняется. Вобщем два запроса update заменяются на один за счет связи. Или такого нет?

4. Где-то читал, что хранить много файлов, например .txt в одной папке - плохо. Нагрузка вобщем больше по поиску нужного файла, например если этих файлов там пара лимонов. Я решил сделать распределить эти файлы по папкам (беру первые три буквы из названия txt файла и ищу такую папку, если она есть, то отправляю файл туда, иначе создаю такую папку и уже тогда отправляю в нее). Думаю. что так будет проще найти нужный файл и быстрее. Правильный ли я вариант выбрал или есть иные более лучшие варианты решения?
 

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
1. Хранение в виде ссылок на файлы даст возможность ссылаться на один и тот же файл, но потенциально требует учёта и контроля (т.к. можно ссылаться на несуществующий файл, может удалиться запись, а файл будет лежать дальше). Плюс каждый такой мелкий файл будет занимать размер целого кластера на диске, а разгребать их - то ещё удовольствие, хорошо ещё, если их названия соответствуют айди в базе.
2. Можно создать ENUM-поле unset, и сделать по нему партиционирование. Это как две копии, только круче)))
3. Триггеры?
4. Нууу, навигация по папке через всяческие проводники будет затруднена. Но прицельно "достать" файл по прямой ссылке труда не составит. А распределить по папкам - это всегда хорошо, главное выбрать наиболее практически полезный фактор для разбивки.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ