Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2009, 19:58   #1
Olga_3005
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 1
По умолчанию Как правильно построить индексы?

Доброе время суток!

Мы долгое время работаем с Pervasive 8 ISAM (Btrieve).
Теперь для значительного увеличения производительности наших программ планируем перейти на SQL.

В связи с этим выбираем из двух платформ:
- Pervasive SQL v10
- Microsoft SQL 2008 (или 2005)

При тестировании на скорость обработки больших массивов данных столкнулись с проблемой.

Имеется таблицу, которая содержит 160 полей, без внешних ключей
Количество строк - 1 миллион.
Нам необходимо сделать выборку по 14 полям от значения - до значения (поля не входят
в первичный ключ), причем количество и состав полей, участвующих в выборке могут меняться в зависимости
от установок пользователя. Сортировка выбранных записей тоже должна осуществляться по полям не входящим
в первичный ключ.
Например: пользователь может отправить запрос на выборку записей по: наименованию, № договора, дате
заключения договора, типу договора, сумме и т.п. с сортировкой по наименованию)

Посоветуйте, пожалуйста, как правильно построить индексы для этой таблицы для минимизации времени
выполнения этого запроса?

Заранее спасибо за ответ
Olga_3005 вне форума Ответить с цитированием
Старый 04.09.2009, 23:02   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

никто ведь не сказал:
1) что же дальше будет с данными в этой таблице - она еще будет пополняться? активно?
2) какой объем данных будет запрашивать пользователь - индексы удобно использовать при выборке 15-20% от общего числа строк в таблице

если нет никакой определенности с какими фильтрами придется работать, то создать 14 индексов (или сколько у вас там полей) и поиграться (можно параллельно делать запросы из таблицы-копии, но без индексов)
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как построить график Nijaz Общие вопросы Delphi 5 09.06.2014 11:25
посоветуйте как правильно построить график vakyla Общие вопросы Delphi 11 31.03.2009 08:12
Как правильно построить цикл для выборки? Tanuska___:) БД в Delphi 1 12.01.2009 14:50
как в дереве ставятся индексы.. Анастасия123456789 Общие вопросы Delphi 12 24.11.2008 16:33
как построить график в паскале? Vitas1234 Паскаль, Turbo Pascal, PascalABC.NET 1 11.06.2008 16:53