Что быстрее: одна или две таблицы?

darkwiz

Новичок
Что быстрее: одна или две таблицы?

У меня возник такой вопросик! Как лучше хранить информацию о пользователях? Информация разделяется на две категории - личчная информация пользователя (логин, пароль, пол, имя, возраст, мыло и т.п.) и вторая - статистическая (дата последнего захода, IP, дата регистрации, колличество оставленных сообщений и т.п.).
Есть два варианта: хранить это все в одной таблице users, но колличество полей будет около 20!
Или же завести вторую таблицу. В первой будет личная информация, во второй - статистическая.

Какой из вариатов будет быстрее работать и будет более оптимальным?
 

WP

^_^
У меня в две. В одной id, groupid, username, password, email, active. А в другой все остальное. Т.к. большинство запросов используют лишь это данные, и им нет никакого дела до, например, даты изготовления пользователя.
 

BAR

Новичок
Лучше в 2 таблицы. У тебя логин и пароль не будет изменятся(зачастую), а дата последнего захода и IP (может изменятся). Кстате в одной таблице будет не оптимально бо у тебя будут повторятся записи Логин и пароль пользователя если он входит под другим ІР. Если тебе не нужна история прихода пользователя То можеш всё писать в одну. Но тогда удалять или редактировать запись пользователя по Логину и Паролю.
Кстати Вторая таблица у тебя будет Динамическая бо записи будут меняться, а первая Статическая.
Не путай.
 

darkwiz

Новичок
Ну во-первых, история мне не нужна... Храниться будет только последний IP, но дата последнего захода будет меняться. Так что я тоже всетаки склонился к тому, что надо мне 2 таблицы сделать.
 

astellar

Новичок
Если выборки делаются по индексу, то сколько в таблице полей - совершенно не важно. MySQL дергает только индекс и размер таблицы не имеет значения.

Нужно посмотреть какие делаются выборки. Пользователи обычно выбираются по имени-паролю (при логине) и по идентификатору (контроль сессии, получение данных пользователя). Первая выборка использует PRIMARY KEY, для второй можно построить индекс KEY log_pass(login, password). В таком случае все данные можно совершенно спокойно хранить в одной таблице.
 

chira

Новичок
darkwiz
если статистическая информация известна (количество полей) и не нужна история, то я бы посоветовал хранить в одной таблице.
 

Фанат

oncle terrible
Команда форума
WP
Ну и в чем смысл хранения в двух таблицах-то?
(вопрос риторический - отвечать не надо)

BAR
Что еще за динамические таблицы? Откуда ты их взял?
Какая разница, в какой таблице лежит дата захода?

darkwiz
никакой разницы нету. База данных - это не текстовый файл, с которым вы все привыкли работать.
 
Сверху