Я унаследовал базу данных (не все мы просто любим это), и таблица вышла из-под контроля.Эффекты с большими большими эффектами стола
База данных составляет более 50 ГБ. Я сделал дефрагментацию, а также переиндексацию, но это не помогло. Проблема в том, что таблица имеет 236 столбцов и около 23000 строк. И нет, это не опечатка!
Единственное решение, которое я вижу, это разбить стол. Приложение .Net находится в нашей интрасети, и я оптимизировал каждый кусок кода, который он содержит, а также хранимые процедуры.
Таблица содержит информацию, такую как TempHigh, TempLow и TempMed. Высокий, Низкий и Мед повторяются по всему столу для других факторов. Таким образом, каждый High, Low и Med станут собственной таблицей с внешним ключом, указывающим на родительскую таблицу.
Это создаст много СОБЫТИЙ при доступе к данным и их обновлении.
Это единственный способ увидеть, что может решить проблему.
Мой вопрос: не могу ли я лучше решить эту проблему?
Любые предложения приветствуются.
Спасибо !!!
EDIT
Просто чтобы прояснить, я запустить дефрагментацию в базе данных, а также переиндексации. У меня был монитор производительности, открытый также на веб-сервере и серверах db.
Спасибо за комментарии. Я постараюсь ответить на ваши вопросы. Во-первых, я скопировал базу данных в мою среду разработки .Net, и она медленная, даже когда я только что зашел в систему. И перенесла приложение .Net на тот же сервер, что и сервер sql, для проверки проблем подключения. Те же проблемы. Это система транзакций (OLTP). Некоторые столбцы я уже переместил в свои собственные таблицы, поскольку они повторяли себя и вместо них новый столбец с внешним ключом (без ограничения). Нет изображений, просто данных.
Вот спецификации таблицы:
TableName SchemaName RowCounts TotalSpaceKB UsedSpaceKB UnusedSpaceKB
MyTable dbo 22904 45192 45160 32
С ** вашими данными ** и ** вашими структурами данных ** внесите изменения в неживую среду и * проверьте * результаты. Настройка производительности через Интернет без доступа к каким-либо данным не работает. –
Каков тип столбцов? Может ли это быть оптимизировано? 23000 * 236 составляет 5428000, 5 428 тысяч точек данных должны хорошо входить в пределах 50 ГБ. – cDima
23000 строк и 50 гб данных? есть ли у вас изображения или столбцы с большим количеством данных? возможно, вы можете сделать вертикальное разбиение на разделы, создать отношения 1: 1 с новыми таблицами и переместить там некоторые из самых тяжелых столбцов. трудно сказать без дополнительных данных – Vland