Вы узнаете, недостаточно ли ваша производительность.
То, что вы упоминаете, уже является частью решения. В дополнение к этим двум, я бы также добавил:
- поставить индекс для любых столбцов внешнего ключа в дочерней таблице
Это очень помогает при выполнении JOIN, и не автоматически выполняется SQL Server (вопреки распространенному городскому мифу, SQL Server never автоматически ставит любые индексы на внешние ключи).
Да, начиная с SQL Server 2008, если вы включите фактический план выполнения в свой запрос в SQL Server Management Studio, он может дать вам несколько советов относительно того, какие индексы могут помочь.
НО ОСТОРОЖНО: при этом вы просто настраиваете один SQL-запрос. Вы можете настроить это на Луну и обратно, но при этом все еще иметь ужасную производительность, поскольку один запрос часто не является целой историей, и настройка одного запроса на выполнение чрезвычайно хорошо может отрицательно повлиять на остальную систему.
Чтобы ДЕЙСТВИТЕЛЬНО знать, что настраивать и как это настраивать, вам необходимо собирать данные о фактическом использовании в реальном времени, используя трассировщики профилей SQL Server, в течение продолжительного периода времени и в разное время дня, в течение которого ваша система работала. в использовании, и изучите их.
Прочтите о профилировании SQL Server:
Марк