Более эффективный способ сделать это в MongoDB 2.2+ теперь можно использовать числовые индексы массива в ключах объектов запроса.
// Find all docs that have at least a second name array element.
db.accommodations.find({'name.1': {$exists: true}})
Одна из важных вещей сделать сохраняет проекты измененных блоков not-so-often разгруженными. Когда изменение произойдет, загрузите его, скомпилируйте и разгрузитесь снова. Это имеет огромные значения в больших решениях.
Сначала удостоверьтесь Ваш, что Вы используете Веб-приложение проекты (WAP). По нашему опыту, по сравнению с Проектами Веб-сайта, WAP компилирует примерно 10x быстрее.
Затем рассмотрите миграцию всей логики (включая сложные компоненты UI) в отдельные проекты библиотеки. Компилятор C# путь быстрее, чем компилятор ASP.NET (по крайней мере, для VS2005).
Можно предварительно скомпилировать сайт, который заставит первый показ испытать лучше
Я рекомендовал бы добавить столько памяти к Вашему ПК, сколько Вы можете. Если Ваши решения являются супер большими, можно хотеть исследовать 64 бита так, чтобы машина могла обратиться больше чем к 3 ГБ поршня.
Также Visual Studio 2008 SP1, кажется, заметно быстрее, чем предыдущие версии, удостоверяется, что Вы выполняете последний выпуск с Пакетами обновления.
Удачи!
При чистом рассмотрении аппаратных средств, необходимо будет искать сравнительные тесты вокруг сети. Существует несколько статей, написанных только о производительности аппаратных средств на компиляции Visual Studio, я просто слишком ленив, чтобы найти их и связать их.
Аппаратные решения могут быть бесконечными, потому что можно получить некоторый действительно верхний уровень quipment, если у Вас есть деньги. Иначе это - обычное больше памяти, быстрого процессора и более быстрого жесткого диска. Перемещение в ОС на 64 бита также помогает.
Если Вы хотите быть еще более конкретными? Просто первое, что пришло на ум... 8 ГБ или больше памяти, если бы Вы наклоняетесь, позволяют себе твердотельные накопители, я перешел бы для 10K к 15K жестким дискам об/мин. Существуют дебаты того, имеет ли четырехъядерный какое-либо значение, но ищите сравнительные тесты и посмотрите что работы для Вас.
Если Вы смотрите просто на аппаратные средства, Многоядерные процессоры, большое количество поршня, и идеально 10K или 15K жесткие диски.
Я лично заметил огромное улучшение производительности с изменением в 10K дисках об/мин.
Я переключился от веб-сайтов до веб-приложений. Время компиляции понизилось фактором десять, по крайней мере.
Кроме того, я пытаюсь не использовать отладчик если возможный ("Выполненный, не отлаживая"). Это сокращает время, которое требуется для запуска веб-приложения.
Если у вас есть много сторонних «сборок, на которые есть ссылки», проверка того, что CopyLocal = False во всех проектах, за исключением проекта веб-приложения, имеет большое значение.
Я писал в блоге о повышении производительности, которого мне удалось добиться, сделав это простое изменение:
Лучший способ улучшить время компиляции ASP.NET - это добавить к нему больше оборудования. Накопитель OCZ Vertex Turbo SSD и Intel i7 960 дали мне огромный импульс. Вы можете увидеть мои результаты здесь .