Разумно ли для приложения динамически создавать таблицы базы данных в качестве средства разделения?
Например, скажем, у меня есть "виджеты" большой таблицы со столбцом "userID", определяющим владельца каждой строки,Если эта таблица имеет тенденцию становиться чрезвычайно большой, имеет ли смысл вместо этого, чтобы приложение создавало новую таблицу с именем "widgets_ {username}" для каждого нового пользователя?Предположим, что приложению когда-либо придется запрашивать только виджеты, принадлежащие одному пользователю за раз (т.е. не нужно пытаться объединить какие-либо из этих таблиц пользовательских виджетов вместе).
Выполнение этого приведет к разрывубольшой стол в более легко управляемые куски, но это не похоже на элегантное решение.На мой взгляд, схема базы данных должна быть определена, когда приложение написано, а любые данные времени выполнения хранятся в виде строк, а не в виде дополнительных таблиц.
В качестве более общего вопроса, изменение схемы базы данных во время выполнения когда-либохорошо?
Редактировать: Этот вопрос в основном гипотетический;У меня было довольно хорошее чувство, что создание таблиц во время выполнения не имеет смысла.При этом в нашем приложении есть таблица с миллионами строк.SELECTs работают нормально, но такие вещи, как удаление всех строк, принадлежащих конкретному пользователю, могут занять некоторое время.По сути, мне нужны веские аргументы в пользу того, что просто динамическое создание таблицы для каждого пользователя не имеет смысла, когда меня спрашивают.