我正在尝试在 python 中执行一些 n-gram 计数,我认为我可以使用 MySQL(MySQLdb 模块)来组织我的文本数据。
我有一个很大的表,大约 1000 万条记录,表示由唯一数字 id(自动增量)和语言varchar
字段(例如“en”、“de”、“es”等)索引的文档
select * from table
太慢了,内存破坏性很大。我最终将整个 id 范围拆分为更小的范围(例如每个 2000 条记录宽),并使用以下查询逐个处理这些较小的记录集:
select * from table where id >= 1 and id <= 1999
select * from table where id >= 2000 and id <= 2999
等等...
有什么方法可以更有效地使用 MySQL 并获得与连续读取大型语料库文本文件类似的性能?
我不关心记录的顺序,我只想能够处理我的大表中与某种语言有关的所有文档。