我有一个数据库(mySQL),其中包含一个总线计划。我希望能够根据一些用户输入显示时间表:路线,日期和时间。巴士每天至少在城市周围运行13次。结构设置为:
-Select Route(2 diff routes)
-Select Day(2 set of day, Sun-Wed & Thur-Sat)
-Select Time(atLeast 13 runs per day) = Show Schedule
My table structure is:
p_id, route day run# stop time
1 routeA m-w 1 stop1 12:00PM
1 routeA m-w 1 stop2 12:10PM
..and so on
我确实有一个功能正常的演示,但效率非常低。我为每次可能的运行查询数据库。我想避免这样做。
有人可以给我一些提示,以提高效率吗?或者给我看一些例子?
我是php和mySQL的新手,在这里和我在一起。
对于我的问题中的任何不一致,我道歉。如果需要更多信息,请告诉我。
提前致谢。
答案 0 :(得分:0)
如果你谷歌的“公交时间表架构设计”,你会发现许多类似的问题和许多不同的解决方案,具体取决于具体的用例。这里有一个类似的问题 - bus timetable using SQL。
首先要规范化您的数据结构。有许多不同的方法,但起点可能是 -
routes(route_id, bus_no, route_name)
stops(stop_id, stop_name, lat/long, etc)
schedule(schedule_id, route_id, stop_id, arrive, depart)
您应该进行一些搜索,并查看支持的不同用例以及它们与您的特定方案的关系。上面的例子只是一个粗略的例子。它可以根据使用的数据进一步细分。您可能只想将停靠时间存储在一个表中,然后将路径的开始时间存储在另一个表中。