0

Что максимальное количество таблиц, которые вы можете иметь в:Максимальное количество таблиц (объектов) в выпусках SQL Server (компактных, экспресс)

  • SQL CE4
  • SQL 2008 R2 Express,

Номера здесь http://msdn.microsoft.com/en-us/library/ms143432.aspx Я полагаю, что это для SQL Server 2008, но они действительны для Express и как насчет SQL CE4?

Сумма количества всех объектов в базе данных не может превышать 2,147,483,647

BTW. Извините за duplicating questions, но мне кажется, что Stackoverflow предоставляет ответы быстрее.

+1

SQL CE 4 ограничивает здесь, но не говорит о максимальных объектах: http://msdn.microsoft.com/en-us/library/ms172451(v=SQL.110).aspx – ErikEJ

+1

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

+0

@Seph Хорошо, спасибо! Самый полезный ответ на мой вопрос. – Daniel

ответ

1

Нет слов о СЕ, но Экспресс является нормальным SQL Server + размер базы данных и ограничения памяти/процесса. Если вы можете поместить таблицы yoru в размер, применяется нормальная ограниченность SQL Server.

1

Ограничения SQL Server Compact 3.5 здесь: http://msdn.microsoft.com/en-us/library/ms172451%28v=SQL.105%29.aspx, но это указывает только на 1024 столбца на таблицу и отсутствие конкретных ограничений по таблице.

SQL Server Express такой же как обычный SQL Server, как TomTom указывает, что это просто ограничивается памяти, процессора и размер базы данных, пределы SQL Server Express Edition являются:

  • Зависимая на один процессор
  • 1GB RAM
  • 10GB размер базы данных (4 ГБ в версиях до SQL 2008 R2 Express)

в противном случае экспресс-издание является стандартным, это позволить базы данных, чтобы быть перемещен в SQL Server Standard и SQL Server Express, что помогает в разработке системы. Так что для SQL Express это еще The sum of the number of all objects in a database cannot exceed 2,147,483,647

Как я уже сказал в комментарии, if you're doing anything that gets close to hitting these numbers you should really look at your DB design process, if they're being automatically generated then consider not partitioning into so many tables.

Под этим я имею в виду, что вы должны выбрать версию SQL Server на основе других требований, если предположим, что SQL CE ограничено 256 таблицами (не говоря, что это происходит, так как я не могу найти такой вещи, и это, скорее всего, будет, по крайней мере, до 1024), и скажем, что вам нужно 500 таблиц. Затем либо посмотрите на денормализацию некоторых ваших таблиц, либо в этот момент вам действительно нужно перейти на SQL Express с вашей программой (это просто усложняет процесс развертывания вашего программного обеспечения, а не намного больше).

У меня нет SQL CE avail atm, но самым простым способом было бы просто запустить тест и сгенерировать 10k create table statements, причем каждая таблица имеет более 20 столбцов. Если ваши требования больше, чем тогда, просто используйте цифры, которые вы знаете.

Наконец-то есть SQLite, о котором вы не спрашивали, опять же нет документации по этому поводу, но я подозреваю, что это, вероятно, 64k +, вы ограничены только 64 таблицами в объединении.

+0

Спасибо! Последующий вопрос, более согласованный с вашей точкой. Динамическая модель, в которой каждый объект получает значение ключа для каждого типа значений: целые числа, фракталы, булевы, строки, тексты, гиды, даты. Это таблицы ключевых значений для каждого объекта. Цель. Более эффективные индексы в таблицах, в отличие от одной таблицы, содержащей 7 столбцов. Мысли? – Daniel

+0

Обычно я использовал строки ('VARCHAR') или двоичные blobs (' VARBINARY') для хранения данных переменных, поэтому вся таблица выглядит примерно так: '{key VARCHAR (100), dataType INT, значение VARBINARY (MAX)} 'или аналогичный (возможно, иногда с столбцом идентификатора auto-incriment« id »), а затем преобразование типа в целочисленное, строковое, направляющее, растровое изображение и т. д. выполняется на упрощенном уровне ORM. Тогда достаточно указать индекс в поле 'key' (обычно это также первичный ключ). Затем вы реализуете шаблон хранилища свойств. – Seph

+0

Но если вы сосредоточитесь на более быстрых запросах, индекс должен включать значение, по крайней мере, для простых типов значений (ints, bools и т. Д.). И если вы часто запрашиваете значения в таблице integer, а не в других, почему другие данные влияют на целые запросы? – Daniel

0

Для SQLCe4, я получил ответ:

Там нет ограничения на количество таблиц, но у нас есть предел 4GB размер файла.