public class DbSettings extends SettingsBase
Some settings are a last resort and temporary solution to work around a problem in the application or database engine. Also, there are system properties to enable features that are not yet fully tested or that are not backward compatible.
Modifier and Type | Field and Description |
---|---|
int |
analyzeAuto
Database setting
ANALYZE_AUTO (default: 2000). |
int |
analyzeSample
Database setting
ANALYZE_SAMPLE (default: 10000). |
int |
autoCompactFillRate
Database setting
AUTO_COMPACT_FILL_RATE
(default: 90, which means 90%, 0 disables auto-compacting). |
boolean |
caseInsensitiveIdentifiers
Database setting
CASE_INSENSITIVE_IDENTIFIERS (default:
false). |
boolean |
compressData
Database setting
COMPRESS
(default: false). |
boolean |
databaseToLower
Database setting
DATABASE_TO_LOWER (default: false). |
boolean |
databaseToUpper
Database setting
DATABASE_TO_UPPER (default: true). |
static DbSettings |
DEFAULT
INTERNAL.
|
boolean |
defaultConnection
Database setting
DEFAULT_CONNECTION (default: false). |
java.lang.String |
defaultEscape
Database setting
DEFAULT_ESCAPE (default: \). |
java.lang.String |
defaultTableEngine
Database setting
DEFAULT_TABLE_ENGINE
(default: null). |
boolean |
defragAlways
Database setting
DEFRAG_ALWAYS (default: false)
Each time the database is closed normally, it is fully defragmented (the
same as SHUTDOWN DEFRAG). |
boolean |
dropRestrict
Database setting
DROP_RESTRICT (default: true)
Whether the default action for DROP TABLE, DROP VIEW, DROP SCHEMA, DROP
DOMAIN, and DROP CONSTRAINT is RESTRICT. |
int |
estimatedFunctionTableRows
Database setting
ESTIMATED_FUNCTION_TABLE_ROWS (default:
1000). |
boolean |
ignoreCatalogs
Database setting
IGNORE_CATALOGS
(default: false). |
int |
lobTimeout
Database setting
LOB_TIMEOUT (default: 300000,
which means 5 minutes). |
int |
maxCompactTime
Database setting
MAX_COMPACT_TIME (default: 200). |
int |
maxQueryTimeout
Database setting
MAX_QUERY_TIMEOUT (default: 0). |
boolean |
mvStore
Database setting
MV_STORE
(default: true). |
boolean |
optimizeDistinct
Database setting
OPTIMIZE_DISTINCT (default: true). |
boolean |
optimizeEvaluatableSubqueries
Database setting
OPTIMIZE_EVALUATABLE_SUBQUERIES (default:
true). |
boolean |
optimizeInList
Database setting
OPTIMIZE_IN_LIST (default: true). |
boolean |
optimizeInSelect
Database setting
OPTIMIZE_IN_SELECT (default: true). |
boolean |
optimizeInsertFromSelect
Database setting
OPTIMIZE_INSERT_FROM_SELECT
(default: true). |
boolean |
optimizeOr
Database setting
OPTIMIZE_OR (default: true). |
boolean |
optimizeSimpleSingleRowSubqueries
Database setting
OPTIMIZE_SIMPLE_SINGLE_ROW_SUBQUERIES (default: true). |
boolean |
optimizeTwoEquals
Database setting
OPTIMIZE_TWO_EQUALS (default: true). |
int |
queryCacheSize
Database setting
QUERY_CACHE_SIZE (default: 8). |
boolean |
recompileAlways
Database setting
RECOMPILE_ALWAYS (default: false). |
boolean |
reuseSpace
Database setting
REUSE_SPACE (default: true). |
boolean |
shareLinkedConnections
Database setting
SHARE_LINKED_CONNECTIONS
(default: true). |
boolean |
zeroBasedEnums
Database setting
ZERO_BASED_ENUMS
(default: false). |
containsKey, get, get, get, getSettings, getSortedSettings
public static final DbSettings DEFAULT
public final int analyzeAuto
ANALYZE_AUTO
(default: 2000).
After changing this many rows, ANALYZE is automatically run for a table.
Automatically running ANALYZE is disabled if set to 0. If set to 1000,
then ANALYZE will run against each user table after about 1000 changes to
that table. The time between running ANALYZE doubles each time since
starting the database. It is not run on local temporary tables, and
tables that have a trigger on SELECT.public final int analyzeSample
ANALYZE_SAMPLE
(default: 10000).
The default sample size when analyzing a table.public final int autoCompactFillRate
AUTO_COMPACT_FILL_RATE
(default: 90, which means 90%, 0 disables auto-compacting).
Set the auto-compact target fill rate. If the average fill rate (the
percentage of the storage space that contains active data) of the
chunks is lower, then the chunks with a low fill rate are re-written.
Also, if the percentage of empty space between chunks is higher than
this value, then chunks at the end of the file are moved. Compaction
stops if the target fill rate is reached.
This setting only affects MVStore engine.public final boolean databaseToLower
DATABASE_TO_LOWER
(default: false).
When set to true unquoted identifiers and short name of database are
converted to lower case. Value of this setting should not be changed
after creation of database. Setting this to "true" is experimental.public final boolean databaseToUpper
DATABASE_TO_UPPER
(default: true).
When set to true unquoted identifiers and short name of database are
converted to upper case.public final boolean caseInsensitiveIdentifiers
CASE_INSENSITIVE_IDENTIFIERS
(default:
false).
When set to true, all identifier names (table names, column names) are
case insensitive. Setting this to "true" is experimental.public final boolean defaultConnection
DEFAULT_CONNECTION
(default: false).
Whether Java functions can use
DriverManager.getConnection("jdbc:default:connection")
to
get a database connection. This feature is disabled by default for
performance reasons. Please note the Oracle JDBC driver will try to
resolve this database URL if it is loaded before the H2 driver.public final java.lang.String defaultEscape
DEFAULT_ESCAPE
(default: \).
The default escape character for LIKE comparisons. To select no escape
character, use an empty string.public final boolean defragAlways
DEFRAG_ALWAYS
(default: false)
Each time the database is closed normally, it is fully defragmented (the
same as SHUTDOWN DEFRAG). If you execute SHUTDOWN COMPACT, then this
setting is ignored.public final boolean dropRestrict
DROP_RESTRICT
(default: true)
Whether the default action for DROP TABLE, DROP VIEW, DROP SCHEMA, DROP
DOMAIN, and DROP CONSTRAINT is RESTRICT.public final int estimatedFunctionTableRows
ESTIMATED_FUNCTION_TABLE_ROWS
(default:
1000).
The estimated number of rows in a function table (for example, CSVREAD or
FTL_SEARCH). This value is used by the optimizer.public final int lobTimeout
LOB_TIMEOUT
(default: 300000,
which means 5 minutes).
The number of milliseconds a temporary LOB reference is kept until it
times out. After the timeout, the LOB is no longer accessible using this
reference.public final int maxCompactTime
MAX_COMPACT_TIME
(default: 200).
The maximum time in milliseconds used to compact a database when closing.public final int maxQueryTimeout
MAX_QUERY_TIMEOUT
(default: 0).
The maximum timeout of a query in milliseconds. The default is 0, meaning
no limit. Please note the actual query timeout may be set to a lower
value.public final boolean optimizeDistinct
OPTIMIZE_DISTINCT
(default: true).
Improve the performance of simple DISTINCT queries if an index is
available for the given column. The optimization is used if:
public final boolean optimizeEvaluatableSubqueries
OPTIMIZE_EVALUATABLE_SUBQUERIES
(default:
true).
Optimize subqueries that are not dependent on the outer query.public final boolean optimizeInsertFromSelect
OPTIMIZE_INSERT_FROM_SELECT
(default: true).
Insert into table from query directly bypassing temporary disk storage.
This also applies to create table as select.public final boolean optimizeInList
OPTIMIZE_IN_LIST
(default: true).
Optimize IN(...) and IN(SELECT ...) comparisons. This includes
optimization for SELECT, DELETE, and UPDATE.public final boolean optimizeInSelect
OPTIMIZE_IN_SELECT
(default: true).
Optimize IN(SELECT ...) comparisons. This includes
optimization for SELECT, DELETE, and UPDATE.public final boolean optimizeOr
OPTIMIZE_OR
(default: true).
Convert (C=? OR C=?) to (C IN(?, ?)).public final boolean optimizeTwoEquals
OPTIMIZE_TWO_EQUALS
(default: true).
Optimize expressions of the form A=B AND B=1. In this case, AND A=1 is
added so an index on A can be used.public final boolean optimizeSimpleSingleRowSubqueries
OPTIMIZE_SIMPLE_SINGLE_ROW_SUBQUERIES
(default: true).
Optimize expressions of the form (SELECT A) to A.public final int queryCacheSize
QUERY_CACHE_SIZE
(default: 8).
The size of the query cache, in number of cached statements. Each session
has it's own cache with the given size. The cache is only used if the SQL
statement and all parameters match. Only the last returned result per
query is cached. The following statement types are cached: SELECT
statements are cached (excluding UNION and FOR UPDATE statements), CALL
if it returns a single value, DELETE, INSERT, MERGE, UPDATE, and
transactional statements such as COMMIT. This works for both statements
and prepared statement.public final boolean recompileAlways
RECOMPILE_ALWAYS
(default: false).
Always recompile prepared statements.public final boolean reuseSpace
REUSE_SPACE
(default: true).
If disabled, all changes are appended to the database file, and existing
content is never overwritten. This setting has no effect if the database
is already open.public final boolean shareLinkedConnections
SHARE_LINKED_CONNECTIONS
(default: true).
Linked connections should be shared, that means connections to the same
database should be used for all linked tables that connect to the same
database.public final java.lang.String defaultTableEngine
DEFAULT_TABLE_ENGINE
(default: null).
The default table engine to use for new tables.public final boolean mvStore
MV_STORE
(default: true).
Use the MVStore storage engine.public final boolean compressData
COMPRESS
(default: false).
Compress data when storing.public final boolean ignoreCatalogs
IGNORE_CATALOGS
(default: false).
If set, all catalog names in identifiers are silently accepted
without comparing them with the short name of the database.public final boolean zeroBasedEnums
ZERO_BASED_ENUMS
(default: false).
If set, ENUM ordinal values are 0-based.