SQL обновление Query - PullRequest
0 голосов
/ 20 марта 2009

Мы объединили первичный ключ с полями no, id и groupno

Из Access условие WHERE, такое как WHERE no = '' & groupno = '', выполняется быстрее, а то же самое замедляет обновления в SQL.

Как только мы предоставим индивидуальный индекс no & groupno, будет ли он быстрее?

Считает ли он его комбинированным ключом, если мы предоставим первичный ключ с тремя тремя полями, а не индивидуальный индекс, основанный на этих полях?

Ответы [ 2 ]

3 голосов
/ 20 марта 2009

Как правило, предпочтение отдается одному индексу (с указанием значений для самых левых полей) с точки зрения быстрой фильтрации.

Кроме того, чем больше вы касаетесь индексированных полей в обновлении, тем больше времени будет потрачено на обслуживание индекса.

Будьте внимательны при чтении слишком большого количества времени, чтобы сделать что-то один раз для небольших наборов данных - вместо этого вы могли бы легко посмотреть на издержки соединения.

Я предлагаю заглянуть в план запроса через Query Analyzer / SQL Server Management Studio - это позволит вам увидеть, какой индекс на самом деле используется, так что вы не исследуете в темноте.

0 голосов
/ 20 марта 2009

Какая версия SQL? Индекс не будет ускорять запрос значений NULL, поскольку они не помещаются в индексы для Oracle в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...