2013-03-17 39 views
0

所以,我从来没有用过这么庞大的数据库。我们正在谈论200.000.000 ++词,我希望能够搜索。我应该如何处理这个问题?使用正常的“where”语句需要10 +++分钟,我应该拆分数据库还是什么?在mysql庞大的数据库中查找单词

任何帮助将是伟大的!

+0

你在使用索引吗? – fedorqui 2013-03-17 13:00:54

+1

尝试狮身人面像表引擎:http://sphinxsearch.com/about/sphinx/ – ethrbunny 2013-03-17 13:02:18

+0

mysql全文索引 – 2013-03-17 13:04:11

回答

1

MySQL FULLTEXT索引在搜索单词时非常有用。您必须将包含相关文本/字符串的字段定义为索引。然后你可以使用

SELECT * FROM table WHERE MATCH (text_index_field) AGAINST ('what you need to look for'); 
1

你应该使用MySql FULLTEXT建立索引。 使用AlTER TABLE在您的愿望栏中创建FULLTEXT索引。

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

全文索引只能MyISAM表使用。 (在MySQL 5.6及更高版本中,它们也可以与InnoDB表一起使用。)只能为CHAR,VARCHAR或TEXT列创建全文索引。

+0

如果您复制粘贴内容,请使用blockquotes并包含指向源代码的链接。 – Tchoupi 2013-03-17 13:54:22

+0

谢谢埃米尔。为了您的信息,有一个特定的引用标记。我编辑了你的帖子。 – Tchoupi 2013-03-17 14:16:39

+0

@MathieuImbert,谢谢 – Amir 2013-03-17 14:20:35