我有一个使用MyISAM引擎的MySQL表,其中包含6个INT列,1个SMALLINT,2个TINYINT和1个FLOAT列.它有数十亿行(数据文件为100GB).我试图通过启用密钥来索引所有列,但这从未发生过.尝试"myisamchk -r tableName "会出现以下错误:
- recovering (with sort) MyISAM-table 'tableName'
Data records: 662929483
- Fixing index 1
myisamchk: error: myisam_sort_buffer_size is too small
MyISAM-table 'tableName' is not fixed because of errors
Try fixing it by using the --safe-recover (-o), the --force (-f) option or by not using the --quick (-q) flag
Run Code Online (Sandbox Code Playgroud)
使用"myisamchk -rov tableName "代替永远(可能是因为它使用的是keycache方法,而不是sort方法).
在这种情况下增加myisam_sort_buffer_size是没有意义的(myisam_sort_buffer_size vs sort_buffer_size的答案建议增加值永远不会有意义).这台机器有32GB的RAM.
是否可以通过简单的方式从用户提供的 PyMC3 目标度量中进行采样?即我希望能够提供黑盒函数logposterior(theta)以及grad_logposterior(theta)那些和样本,而不是在 PyMC3s 建模语言中指定模型。