繁体   English   中英

MySQL列限制。 使用一个表还是创建一个新表?

[英]Mysql columns limit. Using one table or create a new one?

我想将旅行详细信息存储在mysql数据库中。 存储这些记录后,我想对这些记录执行某种搜索和排序操作。 喜欢:

....where from_city ='pune' OR from_pin ='411015' OR from_state ='MH' AND 
to_city ='pune' OR to_pin ='411015' OR to_state ='MH' AND Ddeparting_date ='2015-08-06'...  

但是我感到困惑的是,我只能将这些记录存储在1个表( tbl_trip )上,或者如果我必须额外制作1个表( tbl_trip_extra_info ),这样我就能轻松进行搜索和排序操作

我不想让我的数据库太重。

任何情况下,任何身体指导我的最佳方法是哪种?

tbl_trip

trip_id  | from          | to    | pickup_points | departing_date  |..3 more
1        | address from1 | ****  | -------       | 2015-08-06      |..3 more
2        | address from2 | ***** | -----         | 2015-08-07      |..3 more
.
.

tbl_trip_extra_info

trip_id| from_city | from_state| from_pin| from_rout   | to_city   | to_state| to_pin  | to_rout
1      | pune      |MH         | 411015  | alandi road | pune      |MH       | 411015  | alandi road
2      | mumbai    |MH         | 412006  | patil road  | pune      |MH       | 411015  | alandi road
 .
 .

您应该问自己的问题是:

这是一对一关系还是一对多关系?

如果您需要一个人一趟,而每个人最多只能有一个趟,则该关系为一,因此用该趟做一张桌子和一列。

如果您需要一个人进行更多的旅行,那么当然是一个(人)到很多(旅行)的行程,因此您应该有一张桌子供人使用,而一张则用于旅行。

此时,您可以在行程表中搜索人名或类似的人。

如果只是旅行和搜索旅行的问题,通常只使用一张表。 您可以搜索旅行,一旦获得搜索结果,便可以按照所需的方式对其进行排序。

加成

不必担心MySQL表上的列限制,该限制设置为4096列,所以应该没问题。 (请参阅此处

只要确保设置正确的索引,就不会降低性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM