fashion guide
Guest
Как лучше поступить, с точки зрения рациональности!
Хочу задать такой вопрос. Представьте, что есть 100 пользователей. Каждый из пользователей отправляет данные в виде цвета.
То есть:
user1 - красный, зеленый, серо-голубой... и т.п.
user2 - белый, оранжевый
Как сделать так чтобы использовать наилучший вариант алгоритма хранения данной информации? У меня три варианта, какой из них лучше?
1. Создается три поля в таблице. user, color (longtext), hit (char5).
В результате, программа выполняется следующим образом. Поступают данный от user43, с цветом "голубым".
Программа смотрит какие цвета есть в поле color, в котором все ранее записанные цвета записаны через запятую. Если голубого цвета там нет, то его дописывает в конец.
Ньюанс.. цветов набирается до 2000 в день.. следовательно, поле color состоит из 2000 цветов, записанных друг за другом через запятую.
2. Создается три поля в таблице. user, color (varchar 30), hit (char5).
В результате, программа записывает в одну таблицу цвета всех 100 user'ов, добавляя значения в каждую новую строку.
Программа просматривает, есть ли у user43 color цветом "голубой".. (where user=43 and color="голубой"). Если не находит, то добавляет в самый конец таблицы строку вида user43, голубой.
Ньюанс, таблица в таком случае, будет содержать до 20000 строк. Обращения к ней будут 10-20 раз в секунду.
3. Создать для каждого user'а отдельную таблицу. И для каждого из них, добавлять по строкам цвета.
Ньюанс. Очень напряжно будет очищать 100 таблиц ежедневно.. при том, что юзры каждый раз добавляются..
Как делать?
Или есть какой еще вариант? Буду рад дельному совету.
Хочу задать такой вопрос. Представьте, что есть 100 пользователей. Каждый из пользователей отправляет данные в виде цвета.
То есть:
user1 - красный, зеленый, серо-голубой... и т.п.
user2 - белый, оранжевый
Как сделать так чтобы использовать наилучший вариант алгоритма хранения данной информации? У меня три варианта, какой из них лучше?
1. Создается три поля в таблице. user, color (longtext), hit (char5).
В результате, программа выполняется следующим образом. Поступают данный от user43, с цветом "голубым".
Программа смотрит какие цвета есть в поле color, в котором все ранее записанные цвета записаны через запятую. Если голубого цвета там нет, то его дописывает в конец.
Ньюанс.. цветов набирается до 2000 в день.. следовательно, поле color состоит из 2000 цветов, записанных друг за другом через запятую.
2. Создается три поля в таблице. user, color (varchar 30), hit (char5).
В результате, программа записывает в одну таблицу цвета всех 100 user'ов, добавляя значения в каждую новую строку.
Программа просматривает, есть ли у user43 color цветом "голубой".. (where user=43 and color="голубой"). Если не находит, то добавляет в самый конец таблицы строку вида user43, голубой.
Ньюанс, таблица в таком случае, будет содержать до 20000 строк. Обращения к ней будут 10-20 раз в секунду.
3. Создать для каждого user'а отдельную таблицу. И для каждого из них, добавлять по строкам цвета.
Ньюанс. Очень напряжно будет очищать 100 таблиц ежедневно.. при том, что юзры каждый раз добавляются..
Как делать?
Или есть какой еще вариант? Буду рад дельному совету.