【发布时间】:2012-10-20 06:32:46
【问题描述】:
我需要你的意见... 我正在 PHP 和 MYSQL(AZURE 环境)中开发应用程序。 我在 MYSQL 中为该应用程序编写了一个搜索引擎。 搜索引擎应该索引页面。每一页都被“拆分”为单词,并且为每个单词创建了一个表格,其中包含该单词出现的所有地址。
例如,如果客户端查找单词“tablet”,应用程序会访问一个名为“tablet”的表,并将提取表中的所有地址。 如果您正在搜索这两个词,则检索两个相关表的所有地址并执行切割每个地址。
问题是至少 10 000 个单词,即 10 000 个表格。 DATABASE中是否存在大量表的问题? 使用微软的云服务器(AZURE)是否改善了这种情况? DATABASE 是在写入分配云中的表,还是只创建它们,然后由云处理并为我安排它们?
【问题讨论】:
-
为什么要为每个单词创建一个表格?
-
每个单词都有单独的表格吗?这似乎是一个非常低效的设计。
-
如果你有这样一个奇怪的数据库设计,你应该解释你为什么选择这个。
-
我会查看 MySQL 全文搜索 - dev.mysql.com/doc/refman/5.0/en/fulltext-search.html 和许多其他模型。每个单词一个表是一个荒谬的设计
标签: php mysql search database-design