mysql - 如果我有一个带有 alowed 字母的多重集,应该使用什么样的数据库来存储单词列表然后快速搜索单词?

标签 mysql sql-server database relational-database

我有一个巨大的单词表,大约有 100 万个单词。如果我使用 MySQL 或 SQL Server 之类的关系数据库,并将所有单词放在一张表的一列中,我期望的性能如何?数据库必须做的很简单:只需搜索包含一些给定字母的单词(例如:A O E P L M N U S)。 (就像拼字游戏一样)必须产生结果:

 maple
 ample
 mole
 lamp
 palm
 mope
 poem

等等...

你在想什么?我可以期望数据库的响应足够快吗? 我必须使用什么数据库,MySQL 是个不错的选择吗?除了 SQL SERVER 2010,我没有其他的。

最佳答案

仅用于测试目的I have been developed and approach for a solution of your scenario .此解决方案是使用 EF 构建的和 SQL 服务器。

我对单词 ('paraules') 和字母 ('lletres') 之间的 N:M 关系建模,一个字母在一个单词中出现了多少次:

enter image description here

我还用 linq 编写了 EF 查询:

enter image description here

You can test performance here (until feb 2013) .

关于mysql - 如果我有一个带有 alowed 字母的多重集,应该使用什么样的数据库来存储单词列表然后快速搜索单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000777/

相关文章:

SQL Server - 查询一个奇怪的表

sql - 获取 SSMS 中彼此相反的两列的区别

PHP-MySQL 删除记录

php - 使用 GET 函数时通过 MySQL 数据库未定义索引

mysql - 如何修复我的 MySQL 服务器

sql - 从 Excel 导入数据向导自动检测数据类型

php - Laravel 5.4 建议通过 migrate :reset? 使用 "enable/disableForeignKeyConstraints()"

mysql - 使用大型数据集提高 Run-Once 查询的 MySQL 性能

mysql - 如何从 MySQL 中的日期时间减去小时?

MySQL Workbench 需要很长时间才能运行 2GB 的 SQL 脚本