Я просто работаю над составлением таблицы для сообщений в блоге на моем сайте.
Я знаю, как использовать SQL, и немного знаю о различных типах и длинах, но я не знаю, какие длины и типы лучше всего подходят для моей таблицы.
То, как я сейчас настроил это:
Теги — это строковый массив тегов для сообщения, так же как и с категориями. Проекты будут представлять собой массив целых чисел, которые являются идентификаторами «проектов», связанных с публикацией. (у каждого проекта есть своя собственная страница о них, и когда вы переходите на страницу, вы можете получить список всех сообщений об этом).
У меня вопрос, как оптимизировать эту таблицу?
ОБНОВИТЬ:
В настоящее время я интересуюсь лучшими способами сохранить это и оптимизировать использование диска. Прямо сейчас у меня есть бесплатный сервер x10hosting, который я собираюсь использовать, который имеет ограничение 512 МБ. При необходимости я могу заплатить за более крупный сервер позже, но я хочу придерживаться бесплатного, пока не исчерпаю свои лимиты.
Для серьезного требования сохранения пространства:
FIND_IN_SET()
проверить, если tags
содержит определенный tag
, Это будет медленно и не может использовать какие-либо индексы.В PHP вы можете использовать функцию «serialize», которую я постоянно использую в хранилище SQL.
$foo = serialize($bar);
Теперь просто храните $ foo. $ bar может даже быть законченным объектом. После того, как факт, вы можете просто взять значение и
$bar = unserialize($foo);
$ bar теперь содержит все, что вы хотели раньше. Массив, объект и др. Это делает макет вашей таблицы sql ленивым, но так как начальный и конечный результаты являются просто переменными в php-скрипте, таблица на самом деле не имеет значения. Просто сделайте поля текст (не varchar (макс)) и вы подливка!