Просмотр полной версии : [Вопрос] столбцы в таблице
Здравствуйте. Насколько мне известно, нигде не указано, что использование таблиц (SQL) с большим кол-вом столбцов (две сотни, три или даже пять сотен) может привести к чему-то плохому. Правда ли это? Есть пару сотен переменных и соответственно 2 варианта их сохранения:
1) Создать в таблице для каждой переменной свой столбец (в итоге их может получится вплоть до 500) и работать с ними отдельно: изменилась одна переменная - обновили её значение в соответствующем столбце
2) Создать всего 1 столбец текстового типа (допустим, на 512 знаков) и формировать запрос с помощью цикла и strcat
Второй вариант такое себе, как мне кажется :agree:
Вариант 3: Для каждой системы создать свою таблицу и связать данные с таблицей аккаунтов через ID аккаунта игрока.
Можно создать хоть 1000 столбцов (в плане того, что база данных потянет такое. Делать так не нужно), но будет ли это удобно? Люди годами пытались создать удобный инструмент для хранения и работы с данными, а ты до сих пор работаешь с ним как с файлом.
Вариант 3: Для каждой системы создать свою таблицу и связать данные с таблицей аккаунтов через ID аккаунта игрока.
Можно создать хоть 1000 столбцов (в плане того, что база данных потянет такое. Делать так не нужно), но будет ли это удобно? Люди годами пытались создать удобный инструмент для хранения и работы с данными, а ты до сих пор работаешь с ним как с файлом.
Вся сотня-две переменных принадлежат к игроку. Никто не хранит данные о бизнесах в таблице аккаунтов, об этом речи не идёт. Я могу разделить таблицу аккаунтов на две, как ты говоришь, но есть ли в этом смысл, если таблица будет "комфортно себя чувствовать" и при наличии 300-х столбцов в себе? Для этого тема и создавалась, если 300-400 столбцов в одной таблице как-то значительно повлияют в худшую сторону на производительность, тогда однозначно стоит разделить. Так каков итог?
P.S на удобство все равно, пусть там хоть 800 столбцов будет в таблице игрока, никто лезть и менять данные в ручную там не будет, все значения меняются через мод
Никто и не говорит, что нужно разделять только две совершенно разные системы.
Система инвентаря, например, может так же мирно лежать в отдельной таблице и не занимать 50 столбцов, а занять всего 4:
id | account_id | item_id | value
И не нужно никаких огромных форматирований или чего-либо ещё.
В общем, просто почитай хотя бы о том, что такое Нормальная форма (https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0) и придерживайся её, если хочешь работать с базами данных правильно. Ну а ответ на твой вопрос был ещё в предыдущем моём сообщении.
Никто и не говорит, что нужно разделять только две совершенно разные системы.
Система инвентаря, например, может так же мирно лежать в отдельной таблице и не занимать 50 столбцов, а занять всего 4:
id | account_id | item_id | value
И не нужно никаких огромных форматирований или чего-либо ещё.
В общем, просто почитай хотя бы о том, что такое Нормальная форма (https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0) и придерживайся её, если хочешь работать с базами данных правильно. Ну а ответ на твой вопрос был ещё в предыдущем моём сообщении.
Не подумал об варианте по типу 1 предмет - 1 строка. Благодарю
Не подумал об варианте по типу 1 предмет - 1 строка. Благодарю
Я изначально про него и говорил. Об этом как раз и рассказывается в одной из нормальных форм, если я правильно помню.
Решено?
Я изначально про него и говорил. Об этом как раз и рассказывается в одной из нормальных форм, если я правильно помню.
Решено?
Да, решено
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot