none
Скорость в Microsoft SQL и Pervasive ISAM (Btrieve) RRS feed

  • Вопрос

  • Доброе время суток! Мы долгое время работаем с Pervasive 8 ISAM (Btrieve). Теперь для значительного увеличения производительности наших программ планируем перейти на SQL. В связи с этим выбираем из двух платформ: - Microsoft SQL 2008 (или 2005) - Pervasive SQL v10 При тестировании на скорость обработки больших массивов данных столкнулись с проблемой. Имеем таблицу, которая содержит 11 полей, 6 индексов (в среднем по 3-8 сигментов в каждом), без внешних ключей. Количество строк - 500 тысяч В используемой нами среде разработки пишем простую прогу - просмотр этой таблицы на разных платформах: - Pervasive ISAM v10 - Pervasive SQL v10 - Microsoft SQL 2005 Для тестирования скорости выполняем эту программу с разными индексами. По первому индексу на всех платформах скорость везде почти одинаковая, но по другим индексам скорость в Microsoft SQL 2005 и Pervasive SQL v10 значительно ниже чем в Pervasive ISAM v10. Это нормально или так не должно быть? Если нет, то посоветуйте, пожалуйста, как можно решить эту проблему.
    1 сентября 2009 г. 9:07

Ответы

  • Не всегда индексы повышают производительность. Надо смотреть под конкретной нагрузкой. Для SQL 2005 посоветую почитать "Разделы справки по производительности сервера и мониторингу активности" http://msdn.microsoft.com/ru-ru/library/ms191511%28SQL.90%29.aspx. Иногда достигается 80-90% увеличения при удалении индексов а не только при добавлении. По личному опыту на одной задаче при удалении одного индекса несколько простых запросов замедлились на 10% зато один но "тяжелый" ускорился почти на 90%.
    2 сентября 2009 г. 5:43