gpt4 book ai didi

mysql表重新设计思路(关系)

转载 作者:行者123 更新时间:2023-11-29 08:48:58 26 4
gpt4 key购买 nike

我的表具有如下关系:

ERD

我有相互链接的级联下拉框,即当您选择国家/地区时,该国家/地区下的区域将加载到区域下拉列表中。但现在我想将下拉菜单更改为基于 Ajax 的自动完成文本框。

我的问题是,我应该有多少个文本框?如果我为“按位置搜索”等所有内容设置一个文本框,我需要更改表格设计,或者为每个国家、地区、城市等设置一个文本框,

如果我有这样的文本框,用户可能不知道,很少有地方是地区还是城市,例如新西兰奥克兰是地区而不是城市。

他们可以在城市文本框中搜索地区并在地区文本框中搜索城市...现在他们有一个下拉列表,他们可以从中看到他们的地区,“奥克兰肯定会在地区中”

我可能无法从各个文本框中找到我想要的内容,

我需要一些从数据库和界面角度重新设计的建议。

最佳答案

你的架构很好。但听起来用户至少想要的是:1. 谷歌风格的自由格式文本字段,他们可以只输入单词,但是......2. 以组合方式显示匹配结果的子集。

所以事情是这样的:类似搜索的功能并不是关系数据库的设计目的,这基本上就是您遇到的问题。也就是说,MySQL 虽然不是我的专业领域,但似乎确实具有合理的全文搜索支持 ( MySQL Full Text Search )。

也许您可以在每个描述字段上拥有全文索引并发出五个不同的查询。或者,如果您愿意采用肮脏的解决方案,可以有一个单独的 BUSINESS_SEARCH(business_id, concat_description) ,其中 concat_description 只是所有相关的“描述”字段混合在一起;但您需要考虑描述更新。

但我不知道 FULLTEXT 对性能有何影响。如果这很重要,我会将这些查询卸载到服务器的单独副本。

我个人的感觉(完全没有证据支持)是您将来会遇到性能问题。您是否考虑过添加一个附加组件?快速谷歌搜索引擎显示 Google-like Search Engine in PHP/mySQL 。最大的缺点是您引入了尚未证实/不熟悉的技术的所有陷阱。

对于任何一种方法,我认为您都需要进行一些研究。

祝你好运!

关于mysql表重新设计思路(关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com