Вы рассмотрели создание суррогатного столбца идентификационных данных (введите bigint), и использование, что как кластерный индекс? Затем создайте свой первичный ключ как некластеризованный уникальный индекс.
С таблицей этого размера, довольно возможно, что индекс и фрагментация страницы являются большой проблемой производительности. Суррогатный кластерный индекс гарантирует, что все вставляет, в конце таблицы, которая может почти полностью устранить фрагментацию страницы (если строки не удалены). Фрагментация страницы Less == больше страниц на IO, который является очень хорошей вещью.
Это также позволит Вам периодически дефрагментировать уникальный индекс, на котором Вы запрашиваете, который сделает его намного более эффективным. Делайте это часто или по крайней мере контролируйте индексную фрагментацию на этой таблице регулярно.
Эти повышения производительности могут быть довольно поразительными - если Ваш текущий PK высоко фрагментируется, индекс ищут, может включить гораздо больше IO, чем он должен.
, После того как Вы реализовали это, рассмотрите (иначе, попробуйте его и мера ;-) добавив некластеризованный индекс на столбце k7.
В ReSharper (в настоящее время) нет возможности сделать это из коробки. К счастью, ReSharper имеет очень богатый API расширяемости (хотя и плохо документированный). Я потратил много времени на Reflector, пытаясь разобраться во всем.
Мы используем аналогичное руководство по выравниванию для членов класса в компании, в которой я работаю (в крайнем случае, мы также выравниваем параметры методов). Я написал плагин для ReSharper, чтобы помочь мне в этом. Это модуль «Очистка кода», который запускается когда-нибудь во время очистки кода ( Ctrl - E , Ctrl - F ) и выравнивает код для вас. Это также делает класс закрытым
, если это возможно.
Некоторые примеры :
Параметры метода:
public void DoSomething(string name,
int age,
IEnumerable coll)
(вам нужно будет изменить Формальные параметры переноса на Выбирать всегда в Параметры-> Стиль форматирования-> Разрывы строк и перенос для правильной работы )
Константы:
private const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001;
private const int CONNECT_COMMANDLINE = 0x00000800;
private const int CONNECT_INTERACTIVE = 0x00000008;
private const string RESOURCE_NAME = "Unknown";
Обратите внимание, что вам понадобится несколько вещей для его компиляции / отладки:
Обновите Аргументы командной строки
на вкладке Отладка
в Project
Свойства
с правильным путем
выходная DLL:
/ReSharper.Plugin
"X: \
\ MyCompany.CodeFormatter \ MyCompany.CodeFormatter \ bin \ Debug \ MyCompany.CodeFormatter.dll"
Это позволяет отлаживать плагин через F5 , и будет автоматически устанавливается в Плагины ReSharper в новом Экземпляр Visual Studio, который будет open.
C: \ Program Files \ JetBrains \ ReSharper
, вам придется исправить ссылки. После установки просто запустите Code Cleanup
, чтобы исправить выравнивание (к сожалению, я так и не получил ответа от JetBrains о том, как это сделать при форматировании скобок / точек с запятой).
Сборку переименовали в защиту невиновных :)
Удачи!
Насколько мне известно, это, к сожалению, невозможно с помощью Resharper.
Думаю, стоит отметить, что в Visual Studio Productivity Power Tools есть функция выравнивания назначений. Вот ссылка на Инструменты повышения производительности Visual Studio 2013 .