Parameters
Parameters 为数据库打开方法提供运行时选项。
类定义
public static class Parameters
{
public int memPageSize;
public int diskPageSize;
public int maxConnections;
public int connectionContextSize;
public long maxDiskDatabaseSize;
public long diskFileExtensionQuantum;
public long redoLogLimit;
public long delayedCommitThreshold;
public int maxDelayedTransactions;
public CommitPolicy defaultCommitPolicy;
public LogType logType;
public int hashLoadFactor;
public int indexOptimisticLockThreshold;
public int mode;
public String databaseSnapshotFilePath;
public String stringEncoding;
public Class[] classes;
public boolean diskClassesByDefault;
public boolean compactClassesByDefault;
public boolean nonatomicClassesByDefault;
public boolean dictionaryNoSort;
public int maxClasses;
public int maxIndexes;
public int maxDictionarySize;
public ClusterParams clusterParams;
public String license_key;
public TransSchedPolicy schedPolicy;
public long sqlWorkspaceLimit;
public int compressionLevel;
public int compressionMask;
public int expectedCompressionRatio;
public String cipherKey;
public long backupMapSize;
public int backupMinPages;
public int backupMaxPasses;
public String backupMapFile;
public int fileBackupDelay;
public Parameters()
{
memPageSize = 256;
diskPageSize = 4096;
maxConnections = 100;
connectionContextSize = 0;
maxDiskDatabaseSize = 0;
diskFileExtensionQuantum = 0;
redoLogLimit = 16*1024*1024;
delayedCommitThreshold = 0;
maxDelayedTransactions = 0;
defaultCommitPolicy = CommitPolicy.SyncFlush;
logType = LogType.RedoLog;
hashLoadFactor = 100;
indexOptimisticLockThreshold = 100;
stringEncoding = "UTF-8";
schedPolicy = TransSchedPolicy.Fifo;
sqlWorkspaceLimit = 0;
compressionLevel = -1;
compressionMask = Compression_All;
expectedCompressionRatio = 10;
backupMaxPasses = 10;
backupMinPages = 0;
backupMapSize = 0;
backupMapFile = null;
}
};
定义说明
memPageSize
数据库内存页面大小(默认:256)。请注意,当使用磁盘数据库时,此值应为2的幂,并且至少是磁盘页面大小的1/8。
diskPageSize
持久存储(“磁盘”)页面大小(默认:0)。通常为4096字节;对于全内存数据库,此值为0。
maxConnections
最大数据库连接数(默认:100)。
connectionContextSize
恢复连接上下文大小(默认:0,无恢复连接上下文)。
maxDiskDatabaseSize
磁盘数据库的最大大小(默认:0,无限制)。
diskFileExtensionQuantum
增加持久数据库文件大小的量子单位(可以帮助减少文件碎片化)。
redoLogLimit
REDO事务日志阈值。达到此阈值后将执行检查点并截断日志(注意:检查点只能在事务提交后执行,因此日志文件大小可能会超过指定限制。零值表示使用实现特定的默认值)。
delayedCommitThreshold
使用延迟提交策略时未提交更改的最大大小(默认:0,可用磁盘缓存的1/3)。
maxDelayedTransactions
使用延迟提交策略时最大延迟提交事务数(默认:0,无限制)。
defaultCommitPolicy
新连接的默认提交策略(默认:CommitPolicy.SyncFlush)。
logType
事务日志类型(默认:LogType.RedoLog)。
hashLoadFactor
哈希表负载因子(默认:100%)。这是哈希表扩展的标准。
indexOptimisticLockThreshold
使用乐观锁定B-Tree索引时活动写事务的最大数量(默认:0,无限制)。
mode
DB_MODE_*位的组合(默认:0)。
databaseSnapshotFilePath
打开时加载数据库快照的文件路径(默认:null,无快照加载)。
stringEncoding
默认字符串编码(可以使用每个字段的Encoding注释单独指定字符串编码)(默认:UTF-8)。
classes
将要存储在数据库中的类。只有列出的类的实例可以存储在数据库中。此参数没有默认值,必须由应用程序显式指定。
diskClassesByDefault
指示是否将指定的类存储在磁盘上。也可以通过Persistent注解的disk()属性显式标记磁盘类。
compactClassesByDefault
指示是否将指定的类隐式标记为紧凑。也可以通过Persistent注解的compact()属性显式标记紧凑类。
nonatomicClassesByDefault
指示是否将指定的类隐式标记为非原子。也可以通过Persistent注解的nonatomic()属性显式标记非原子类。
dictionaryNoSort
使字典与使用-nosort选项调用的mcocomp工具兼容。
maxClasses
数据库中类的最大数量(用于支持动态表创建)。
maxIndexes
数据库中索引的最大数量(用于支持动态表创建)。
maxDictionarySize
数据库字典的最大大小(用于支持动态表创建)。
clusterParams
集群配置参数。
license_key
SmartEDB许可证密钥(如果需要)。
schedPolicy
相同优先级事务的调度策略。
sqlWorkspaceLimit
SQL工作区配额。默认为0,无限制。
compressionLevel
压缩级别:0..9:0:无压缩,-1: 默认压缩级别。
compressionMask
应该被压缩的页面类型的位图。
expectedCompressionRatio
用于分配压缩页面映射(注意虚拟数据库空间不能大于物理大小压缩比)。
cipherKey
数据库加密密钥。
backupMapSize
备份计数器数组的大小(以字节为单位,应为2的幂);如果设置了maxDiskDatabaseSize,则忽略此参数。默认为0,禁用备份功能。
backupMinPages
备份过程最后一次独占传递所需的页面数,设置为零以禁用阈值。默认为0。
backupMaxPasses
在备份过程独占传递之前的最大传递次数。默认为10。
backupMapFile
用于在数据库关闭时存储临时备份数据的文件名。
fileBackupDelay
写入文件备份块之间的毫秒延迟,以最小化备份对性能的影响。