Можно ли создать слишком много таблиц? - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть концепция, которую я хочу воплотить в жизнь. Это для уровня бизнес-логики нашего программного обеспечения. наше приложение может буквально вставлять тысячи записей одновременно. Я просто хочу взять JSON, который я получаю Import, в таблицу, а затем использовать хранимую процедуру для импорта данных. Таким образом, каждое сохранение, которое делает наша система, потенциально может создать реальную таблицу с именем GUID, которая обрабатывает данные, а затем удаляет их. Мне интересно, не вызовет ли это негативное влияние на нашу базу данных.

Ответы [ 3 ]

2 голосов
/ 03 декабря 2011

Вы можете подготовить временную таблицу перед вызовом хранимой процедуры, а не постоянной таблицы. Таким образом, каждый процесс может использовать одно и то же имя: в противном случае вам потребуется много динамического SQL.

Вы можете использовать SQLBulkCopy в эту временную таблицу или непосредственно в реальную таблицу

Примечание: для SQL Server 2008 у вас есть табличные параметры

И 1000-е за один раз - это то, для чего СУБД предназначены ...

0 голосов
/ 03 декабря 2011

Если вы удаляете таблицы, значит, вы не «создаете слишком много». Очевидно, что каждая система имеет ограничения, поэтому «да» можно создать «слишком много таблиц». Но если вы говорите о 100 000 таблиц, созданных и уничтоженных с течением времени, то их "нет".

Например, во многих БД существует понятие «временной» таблицы, которая представляет собой не более чем таблицу, срок службы которой связан с жизнью соединения. Таким образом, эти таблицы создаются и уничтожаются регулярно.

Таким образом, использование обычной таблицы таким способом не должно быть проблемой.

0 голосов
/ 03 декабря 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...