Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Насколько преступно создавать много полей?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
VoVladey
Отправлено: 01 Июня, 2014 - 14:38:34
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Есть таблица в ней около 50 полей при этом 5 TEXT, остальные примерно 50/50 VARCHAR (255) и INT(11)
Записей планируется около 400-500 тыс.

насколько преступна такая структура?
можно ее такой оставить или имеет смысл разбить, т.к. в целом можно попробовать раскидать на 5 таблиц.
 
 Top
OrmaJever
Отправлено: 01 Июня, 2014 - 14:41:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




конечно лучше раскинуть на 5 таблиц есть есть возможность, при 500к записей она у вас будет занимать очень много места.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Июня, 2014 - 14:42:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




У Вас что, БД состоит из одной таблицы ?)
 
 Top
VoVladey
Отправлено: 01 Июня, 2014 - 14:44:57
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




armancho7777777 пишет:
У Вас что, БД состоит из одной таблицы ?)


не у меня и не одна, просто все остальные норм, а эта меня напрягает сильно... если честно ни разу не видел такой таблицы, сейчас в принципе работает, но и записей сильно меньше чем планируют.
(Добавление)
OrmaJever пишет:
конечно лучше раскинуть на 5 таблиц есть есть возможность, при 500к записей она у вас будет занимать очень много места.


тут вопрос что лучше если будут 5 таблиц (соответственно больше запросов, но каждая из таблиц мало весит)
или
одна таблица (соответственно один запрос и большой вес)

в целом база в любом случае будет весить +- одинаково.
 
 Top
OrmaJever
Отправлено: 01 Июня, 2014 - 14:53:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




а вы реально каждым запросом берёт все поля из таблицы? У вас нету повторений в полях? Может некоторые поля выбираются реже других?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
VoVladey
Отправлено: 01 Июня, 2014 - 15:02:44
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




OrmaJever пишет:
а вы реально каждым запросом берёт все поля из таблицы? У вас нету повторений в полях? Может некоторые поля выбираются реже других?


да дело не в этом, просто лень таблицу разбивать, вот и интересуюсь насколько это преступно (в смысле не лень, а 50 полей)
 
 Top
caballero
Отправлено: 01 Июня, 2014 - 15:07:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




для сервера БД без разницы
для приложения тоже - все равно там быдлокод


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
ПТО
Отправлено: 02 Июня, 2014 - 11:03:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




VoVladey пишет:
Есть таблица в ней около 50 полей при этом 5 TEXT, остальные примерно 50/50 VARCHAR (255) и INT(11)
Записей планируется около 400-500 тыс.

насколько преступна такая структура?
можно ее такой оставить или имеет смысл разбить, т.к. в целом можно попробовать раскидать на 5 таблиц.

Я бы обязательно разбил. У меня была похожая ситуация, здесь имеет смысл в зависимости от будущих запросов к этой таблице сгруппировать колонки в группы: наиболее используемые вынести в одну таблицу, менее используемые - в несколько других. Менее используемые колонки разбейте по схожести данных, которые будут часто выводиться вместе при будущих запросах
 
 Top
LIME
Отправлено: 02 Июня, 2014 - 18:11:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




разбивать надо лишь в том случае если одна часть полей часто обновляется а другая нет
чтоб не сбрасывать кэш запросов
хотя всеравно caballero скорее правУлыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB