[英]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.