mysql - 数据库拆分;多个表

标签 mysql database database-design search

我正在编写一个分类广告网络应用程序。

为此构建数据库的最佳方式是什么? 由于可重复性高,在数据库中为每个城市创建一个单独的表是否会更快(在搜索/索引方面)?

或者每个城市只有一张表是否可以(它会有很多行..)。

分类表有 id、user_id、city_name、类别、[描述和详细信息字段]。

最佳答案

您应该将表中的元素分成 4 个表。

第一个表,一个城市表,将有 city_id 和 city_name。该表需要 city_name、city_id 的唯一索引以及 city_id 的主索引。

第二个表,类别表,将具有 category_id 和类别。该表需要一个关于类别的唯一索引 category_id,以及一个关于 category_id 的主索引。

第三个表,用户表,将有 user_id,用户标识。

第四个表,一个广告表,将有 ad_id、标题、描述和插入日期。 City_id、category_id 和 user_id 将是您广告表的外键,

关于mysql - 数据库拆分;多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2911029/

相关文章:

javascript - 带有超时的JS函数应该每4秒发送一次数据,但只发送1次

php - 如何从 mysql 获取结果中声明一个 php 变量?

mysql - 将方法名称绑定(bind)到 mysql where 子句?

javascript - 谷歌地图标记 php

python - 最大 LMDB 值大小

database - AngularFire2 如何创建用户(名字、姓氏、电子邮件、密码)

php - 一个 mysqli 连接用于多个数据库功能

mysql - MySQL触发错误

sql-server - 为什么 varchar(n) 中的 n 指定为具体数字?

数据库优化 : What's faster searching by integers OR short strings?