假设我有一个表,可以在列字段中存储1亿个不同大小的字符串记录,最多20个字符。我需要索引这一列,我只有一台2GB-Ram机器,这足以执行这样的任务吗? mysql推荐使用db engine进行存储吗?
答案 0 :(得分:3)
数据库的设计通常允许它们使用更多数据,然后才有可用的RAM。给它更多的工作记忆会加快速度,但它应该能够构建索引并对它进行搜索。
答案 1 :(得分:1)
如果你有2 GB的主内存,那么是的,你应该能够毫无问题地构建索引;虚拟内存是一件很棒的事情,DBMS可能会安排将数据溢出到磁盘上。
如果您只有2 GB的磁盘空间,则没有足够的空间容纳数据和索引。
令人惊讶的是,它是2 GB的主内存,而不是2 GB的磁盘(该评论主要是开玩笑 - 但是现在,如果有人说256 GB,则不清楚它们是否指的是磁盘空间或主内存;它可以是)。
是的,如果DBMS无法在该约束内创建索引,则不值得将其称为DBMS。
MySQL可能可以完成这项工作。这不是我推荐的,但由于是替代(商业)DBMS的开发者之一,我在这方面非常偏见。我们没有足够的关于您的预算等信息以便能够可靠地提供建议。