TMyTableOptions.UseHandler Property

Used for the HANDLER statement to be used instead of the SELECT statement.




property UseHandler: boolean default False;


If this option is enabled, the HANDLER statement is used instead of the SELECT statement.

From the MySQL Refernce Manual:

"There are several reasons to use the HANDLER interface instead of normal SELECT statements:

HANDLER is faster than SELECT:

A designated storage engine handler object is allocated for the HANDLER ... OPEN. The object is reused for subsequent HANDLER statements for that table; it need not be reinitialized for each one.

There is less parsing involved.

There is no optimizer or query-checking overhead.

The table does not have to be locked between two handler requests.

The handler interface does not have to provide a consistent look of the data (for example, dirty reads are allowed), so the storage engine can use optimizations that SELECT does not normally allow.

For applications that use a low-level ISAM-like interface, HANDLER makes it much easier to port them to MySQL.

HANDLER enables you to traverse a database in a manner that is difficult (or even impossible) to accomplish with SELECT. The HANDLER interface is a more natural way to look at data when working with applications that provide an interactive user interface to the database."

The FilterSQL property is used to assign the WHERE condition. To return a specific number of rows, assign the Limit property.

If the Limit property equals -1 and the UseHandler option is set to True, requested records count equals to MaxInt.

The default value of the UseHandler option is False.

© 1997-2022 Devart. All Rights Reserved. Request Support DAC Forum Provide Feedback