2009-03-04 4 views
7

Я знаю, что в SQL Server максимальное количество «объектов» в базе данных составляет чуть более 2 миллиардов. Объекты содержат таблицы, представления, хранимые процедуры, индексы, между прочим. Я вовсе не беспокоюсь о том, чтобы выйти за пределы 2 миллиардов объектов. Однако, что я хотел бы знать, есть ли, что SQL Server страдает от удара производительности из-за большого количества таблиц. У каждой таблицы, которую вы добавляете, есть удар производительности, или в принципе нет разницы (при условии постоянного количества данных). Кто-нибудь имеет опыт работы с базами данных с тысячами таблиц? Я также задаюсь вопросом о MySQL.Максимальное количество рабочих таблиц в SQL Server и MySQL

ответ

8

Никакой разницы, при условии постоянного количества данных.

Вероятно, выигрыш в практическом плане из-за такие вещи, как уменьшенные окна обслуживания (меньше индекса перестраивается), способность быть только для чтения групп файлов и т.д.

Производительности определяются запросами и индексами (на самом базовом уровне): не количество объектов

1

Я сомневаюсь, что SQL Server будет иметь проблемы с производительностью, работая с тысячами таблиц, но я бы это сделал.

Я работал над базами данных с сотнями таблиц на SQL Server без проблем.

+0

Придется прочитать ваше первое предложение пару раз. Я понимаю, откуда вы пришли, но в основном это было бы множество таблиц с одинаковой структурой, а не с тем, что управлялось бы индивидуально. – Kibbee

+1

Если таблицы сгенерированы программно, то вы, как разработчик, можете обращаться с ними также программно. Нет проблем с производительностью (по крайней мере, не профессионально) – Davos

0

Сервер SQl может похвастаться большим увеличением производительности за счет использования таблиц с большим количеством столбцов вместо разрыва связанной таблицы (даже с отношением one-to_one). Кроме того, у большой таблицы, вероятно, могут возникнуть проблемы, когда данные, которые вы хотите ввести, превышают количество байтов, которые вы можете сохранить для столбца. Вы можете создать таблицу, которая может хранить, например, 10000 байт, но вы все равно сможете хранить только 8060 байт.

+0

Это полезная информация, но отнюдь не отвечает на заданный вопрос. – Kibbee

+0

В этом случае причина заключается в том, что слишком много таблиц создадут проблему с производительностью, так это то, что вы планируете консолидировать их, а не создавать так много, что на самом деле создает гораздо более высокую производительность, и человек должен знать об этом. – HLGEM

4

С точки зрения максимального количества таблиц у меня была база данных с 2 миллионами таблиц. Никакой производительности не удавалось. мои таблицы, где маленькие около 15 МБ каждый.

+0

Это было полезно спасибо. Я гуглер :) – BOSS

0

По моему опыту, я не думаю, что количество таблиц ударит по производительности. Но тогда вы должны быть в состоянии обосновать, почему у вас столько таблиц в базе данных. Это связано с тем, что так много таблиц на стороне базы данных также повлияют на работу разработчика со стороны сервера.

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

Скажите, что вам нужно хранить информацию о продажах, покупке, получении и оплате. Все они имеют одну и ту же структуру таблицы, а вместо того, чтобы хранить их в одной таблице, вы можете хранить их отдельно в отдельных таблицах. с их помощью вы можете получить все детали для продаж в одной таблице, для покупки в своей отдельной таблице и аналогичным образом. таким образом, он может помочь в улучшении времени отклика уровня базы данных приложения, который является одним из самых медленных компонентов во всех сетевых уровнях ... !!! конечно, мы используем производительность базы данных по SQL-запросам, но тогда такое структурирование также может косвенно помочь вам улучшить производительность базы данных.

Смежные вопросы