Вы обращали внимание, как вконтакте организован доступ к контенту?
Примерно так vk.com/content{user_id}_{content_id}
Сообщение № 574 от пользователя 23 будет иметь вид vk.com/message 23_ 574
А фото 432 от пользователя 33 - vk.com/photo33_432
Это не точные ссылки, здесь показан принцип!
Я хочу сделать подобную структуру в MySQL и рассматриваю плюсы и минусы.
При этом структура таблицы `messages` будет иметь приблизительно такую структуру:
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE `messages` ( `message_id` INT NOT NULL DEFAULT NULL, `user_id` INT NOT NULL DEFAULT NULL, `text` MEDIUMTEXT NOT NULL DEFAULT 'NULL', UNIQUE KEY (`message_id`, `user_id`) );
Из плюсов мы видим улучшенную индексацию (сразу по 2м полям), выборка будет явно быстрее.
А что касается минусов - то тут усложняется процесс выборки, вместо одного поля приходится указывать два.
А теперь, собственно вопрос - как сделать, чтобы при вставке user_id у меня автоматически инкрементом вставлялся message_id??
И вообще, что думаете о такой структуре?
(Добавление)
P.S. понятно, что в итоге вместо user_id надо использовать user_from и user_to, но я не стал усложнять, это всего лишь пример
|