Когда использовать сводные индексы?

Для систем, которые не допускают сгенерированные пользователем пароли, на самом деле это очень просто: любой пароль так же надежен, как и длинный. Не считая, конечно, людей, которые прикрепляют сообщения к мониторам и т. Д.

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

Если вы имеете дело как с сгенерированными, так и с пользовательскими паролями, то все ставки, очевидно, отменены. Тогда вы, вероятно, захотите сгенерировать пароли таким образом, чтобы в нем использовалось как можно больше символов из разных классов, что напоминало бы надежный пароль, выбранный пользователем. В идеале он должен соответствовать тем же ограничениям, что и пароль, созданный пользователем, также должен пройти (если есть).

14
задан Alex 1 June 2009 в 06:55
поделиться

2 ответа

Запрос, который выбирает только несколько полей, может полностью выполняться в индексе. Например, если у вас есть индекс для (OrderId), этот запрос потребует поиска в таблице:

select Status from Orders where OrderId = 42

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

Сортировка по нескольким столбцам может выиграть от составного индекса. Например, индекс по (LastName, FirstName) будет полезен для этого запроса:

select * from Orders order by LastName, FirsName

Иногда у вас есть уникальная константа для нескольких столбцов. Скажем, например, вы перезапускаете номера заказов каждый день. Тогда OrderNumber не уникален, но (OrderNumber, OrderDayOfYear) уникален. Вы можете обеспечить это с помощью уникального составного индекса.

Я уверен, что есть много других применений для составного индекса, просто перечислю несколько примеров.

9
ответ дан 1 December 2019 в 12:13
поделиться

Составные индексы полезны, когда ваши запросы SELECT часто используют эти столбцы в качестве критериев в предложениях WHERE. Это улучшает скорость поиска. Вам следует избегать их, если они не нужны.

Эта статья дает действительно полезную информацию.

15
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: