Спустя 3 минуты, 43 секунды (16.05.2011 - 11:22) Zerstoren написал(а):
Лучше как минимум отгородить таблицу логин и пароль. В целях безопасности.
А по скорости. То лучше разделите их на логические части.
Т.е. к логину и паролю обращаетесь редко - ну и пусть будет для них своя таблица.
Если таблица с данными о юзере в общаке, то ее нужно вынести в другую таблицу и можно продублировать логин даб не стучаться в таблицу с пользователями.
А по скорости. То лучше разделите их на логические части.
Т.е. к логину и паролю обращаетесь редко - ну и пусть будет для них своя таблица.
Если таблица с данными о юзере в общаке, то ее нужно вынести в другую таблицу и можно продублировать логин даб не стучаться в таблицу с пользователями.
Спустя 13 минут, 5 секунд (16.05.2011 - 11:35) Renden написал(а):
Zerstoren
По скорости мне кажется потеряется, тк допустим есть модуль траффик, в нем IP-шники, которые привязаны к пользователю так запрос получается допустим такой:
А если я разделю будет примерно так..
По скорости мне кажется потеряется, тк допустим есть модуль траффик, в нем IP-шники, которые привязаны к пользователю так запрос получается допустим такой:
SELECT id,firstname,lastname FROM users WHERE ip='$some_ip'
А если я разделю будет примерно так..
SELECT u.id,u.firstname,u.lastname FROM users u INNER JOIN users_ips up ON u.id=up.user_id WHERE up.ip='$some_ip'
Спустя 15 минут, 32 секунды (16.05.2011 - 11:51) linker написал(а):
Всё зависит от того какого рода дополнительная инфа о пользователе. Если она напрямую является сущностью пользователя, то лучше всё оставлять в одной таблице.
Скажу иначе, если связь между пользователем и инфой пользователя в обоих направлениях есть связь"один к одном", то это одна сущность пользователь, а значит должна храниться в одной таблице. При отображении списка пользователей позволит избежать явно лишнего JOINа.
Скажу иначе, если связь между пользователем и инфой пользователя в обоих направлениях есть связь"один к одном", то это одна сущность пользователь, а значит должна храниться в одной таблице. При отображении списка пользователей позволит избежать явно лишнего JOINа.
Спустя 4 минуты, 47 секунд (16.05.2011 - 11:56) Renden написал(а):
linker
Ясно, спасибо, а логин, пасс лучше отделить всеж?
Ясно, спасибо, а логин, пасс лучше отделить всеж?
Спустя 6 минут, 2 секунды (16.05.2011 - 12:02) linker написал(а):
Renden
Не имеет никакого смысла, но при обозначенном мною выше условии.
Не имеет никакого смысла, но при обозначенном мною выше условии.
Спустя 1 час, 27 минут, 15 секунд (16.05.2011 - 13:29) Krevedko написал(а):
вообще конечно любопытная дилемма. когда я учился, нам говорили, что надо обязательно все разделять по максимуму. и не создавать такие столбцы, значения в которых могут быть скажем вычислены.
однако когда я писал галерею, мне надо было выводить там количество комментариев к каждой фотке (вообщем на странице куча фоток и под каждой написано Комментариев-100 например. Мы кликаем на эту ссылку и видим эти комментарии). Мне сказали, что нерационально для каждой фотки заниматься подсчетами или даже использовать group by в таблице комментариев по ид фотки, поэтому я количество комментариев сделал прямо в таблице фоток и все выуживается одним селектом. Просто при добавлении комментария или удалении получается +1/-1 для этой фотки соответственно (тот же триггер).
Так что тут тоже надо смотреть как лучше/быстрее.
однако когда я писал галерею, мне надо было выводить там количество комментариев к каждой фотке (вообщем на странице куча фоток и под каждой написано Комментариев-100 например. Мы кликаем на эту ссылку и видим эти комментарии). Мне сказали, что нерационально для каждой фотки заниматься подсчетами или даже использовать group by в таблице комментариев по ид фотки, поэтому я количество комментариев сделал прямо в таблице фоток и все выуживается одним селектом. Просто при добавлении комментария или удалении получается +1/-1 для этой фотки соответственно (тот же триггер).
Так что тут тоже надо смотреть как лучше/быстрее.
Спустя 1 час, 3 минуты, 36 секунд (16.05.2011 - 14:33) linker написал(а):
Если есть жестокая необходимость (например для увеличения производительности), то советуют проводить денормализацию.