Функция JetSetTableSequential
Область применения: Windows | сервер Windows
Функция JetSetTableSequential
Функция JetSetTableSequential уведомляет ядро СУБД о том, что приложение сканирует весь текущий индекс, содержащий заданный курсор. Следовательно, методы, используемые для доступа к данным индекса, будут настроены так, чтобы сделать этот сценарий максимально быстрым.
Windows XP:JetSetTableSequential представлен в Windows XP.
JET_ERR JET_API JetSetTableSequential(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
Параметры
sesid
Сеанс, используемый для этого вызова.
tableid
Курсор, используемый для этого вызова.
гбит
Группа битов, задающая ноль или более следующих параметров.
Значение |
Значение |
---|---|
JET_bitPrereadForward |
Этот параметр используется для индексирования в направлении вперед. Windows 7:JET_bitPrereadForward представлен в Windows 7. |
JET_bitPrereadBackward |
Этот параметр используется для индексирования в обратном направлении. Windows 7:JET_bitPrereadBackward представлен в Windows 7. |
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделе "Расширяемые ошибки служба хранилища обработчика" и "Параметры обработки ошибок".
Код возврата |
Описание |
---|---|
JET_errClientRequestToStopJetService |
Операция не может завершиться, так как все действия в экземпляре, связанном с сеансом, были закручены в результате вызова JetStopService. |
JET_errInstanceUnavailable |
Операция не может завершиться, так как экземпляр, связанный с сеансом, столкнулся со неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Windows XP: это возвращаемое значение представлено в Windows XP. |
JET_errNotInitialized |
Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errRestoreInProgress |
Операция не может завершиться, так как выполняется операция восстановления в экземпляре, связанном с сеансом. |
JET_errTermInProgress |
Операция не может завершиться, так как выполняется завершение работы экземпляра, связанного с сеансом. |
Если эта функция завершается успешно, текущий индекс курсора оптимизирован для последовательного сканирования всего индекса. Изменение состояния базы данных не будет.
Если эта функция завершается ошибкой, изменение конфигурации курсора не произойдет. Изменение состояния базы данных не будет.
Remarks
Если приложению необходимо эффективно сканировать известное подмножество индекса, аналогичная оптимизация также выполняется при каждом установке диапазона индексов с помощью JetSetIndexRange. Эта оптимизация доступна только в Windows XP и более поздних выпусках.
Если приложению необходимо эффективно сканировать неизвестное подмножество индекса, никаких действий не следует предпринимать. Подсистема может автоматически обнаруживать поведение сканирования и получать данные заранее. Это поведение не так агрессивно, однако.
Эта оптимизация сделает сканирование первичного индекса эффективным и сделает сканирование только данных записи индекса в дополнительном индексе эффективным. При извлечении данных записей не выполняется сканирование вторичного индекса. Это связано с тем, что подсистема не выполняет операции чтения с данными записей.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista или Windows XP. |
Server |
Требуется Windows Server 2008 или Windows Server 2003. |
Header |
Объявлен в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
См. также
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetSetIndexRange
JetStopService