Одна большая таблица SQL или несколько маленьких таблиц SQL? - PullRequest
0 голосов
/ 21 марта 2011

В настоящее время я работаю с MS SQL 2005, и у меня есть таблица, которая имеет 17 столбцов, и пространство, которое занимают данные в каждой строке, лишь немного меньше, чем разрешено (для строки / записи) в MS SQL2005. И это точно, что я не могу разбить это на более мелкие таблицы, так как данные, хранящиеся в этой таблице, вводятся из таблиц Excel, чье содержимое я не контролирую.

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

Например, например: листы Excel, содержащие подробную информацию о продуктах, поступают (почти еженедельно) от различных производителей, и онихранится в таблице ПРОДУКТЫ (большой).Теперь есть такие запросы:

SELECT DISTINCT Brand_name, Model_name FROM PRODUCTS

и

SELECT DISTINCT Brand_name, Model_name FROM PRODUCTS WHERE Price < 10 и примерно 10-15, подобные этим.

Теперь мой вопрос:Должен ли я создавать уже агрегированные таблицы для этих вещей, которые примерно на 5 больше, чем таблица PRODUCTS, и обновлять их при поступлении листа, или я просто должен выполнить все свои поисковые запросы в таблице PRODUCTS?

Таблица PRODUCTS будет содержать максимум 500 000 строк одновременно.

1 Ответ

4 голосов
/ 21 марта 2011

Я был бы склонен придерживаться вашего единого стола.500k записей не слишком массивны.Если вы удостоверитесь, что он правильно указывает на общие выборки, которые вы используете для него, вы, вероятно, обнаружите, что он довольно быстрый.

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

...