Что лучше? 2 связанных таблицы или одна с 33 полями?

trompert

Guest
Что лучше? 2 связанных таблицы или одна с 33 полями?

Есть каталог пользователей.
Если все данные о них хранить в одной таблице получается 33 поля. Насколько ускорится/замедлится работа если сделать несколько таблиц, разбив по типам запросов? Вообще стоит ли?
 

trompert

Guest
Originally posted by Demiurg
Что значит по типам запросов ?
Почти никогда не используются все поля таблицы.. Обычно несколько частей обновляются независимо друг от друга. Причем статистика обновляется постоянно, очень часто, а данные пользователя - раз в месяц.. поэтму такая идея и возникла.. смотрю чужие исходники - все делают как хотят.
 

SashOk

Guest
Ускорится, если ты поля переменной длины (varchar'ы) засунеш в одну таблицу, а остальные -- в другую.
Учти, в таблице с полями постоянной длины не должно быть ни одного поля переменной длины.
 

su1d

Старожил PHPClubа
SashOk верно сказал.
ещё большее ускорение можно получить, если засунуть все поля, участвующие в запросе, в один индекс. например:
[sql]CREATE TABLE table_name( a INT, b INT, c INT, KEY(b, c, a))[/sql]
[sql]SELECT a FROM table_name WHERE b=1 AND c=2[/sql]
ессно, этим нельзя злоупотреблять, засовывая всё напропалую в один индекс, т.к. он будет очень долго обновляться при добавлении/удалении записей.
 

Фанат

oncle terrible
Команда форума
Demiurg, я думаю, что статистика в той же строке
пример:
Информация о юзере - фамилия.
Статистика - количество заходов.
Я думаю, так.

trompert
Ты не поверишь, но база данных специально для того и придумана, чтобы не было разницы при обновлении разных полей.
 
Сверху