Jump to content

Multiple Airlines Huge Schedules Database

Recommended Posts

Dear Members,

We have recently introduced some Airlines which is having huge number of schedules/routes, now the problem is when pilots trying to search any schedule page is taking so much time to load in some cases page timeout error comes in how can we optimise the schedules result page what can be best solution.

Thanks in Advance.

Share this post

Link to post
Share on other sites

Sadly thats entirely  to many schedules for phpvms 5.5.2 unless your running a high end Server situation which is not cheap these days, anything over 6000 schedules will drag down phpvms. This is also true for Airports, which in all reality you should only have around 4-6000 airports in the database. Frankly I've seen this time in and time out and recently just helped out someone with over 45,000 schedules. The good news is, there are several ways of squeezing down the Search without the effects of a "Full Page" view, which is half the problem with Large Databases as they try to Print all of the Search results/information on the given Page. Thus resulting in a serious Lag on the Server side. Any Full Page View slows any system down that is extremely large, its got to pump all of that information into one Browser page and 40k is way to much to show all at once. However, you have about 3 options for this situation they are as follows without getting advanced in the Database structures;

In your situation what I would do is simple, depending on what your running for a Skin, if your running an HTML5 & a Bootstrap 3.3.7.xx or higher skin, then there is an easy fix. Its Called "DataTables".

There is a Web Site that dedicates itself to this, and is all it does. Data Tables involve whats called pagination, a search feature, and an option of dropping down more results with an Icon Bar. The Data Tables system also Squeezes the Resulted Information/Views into a Scrollbar system, the Actual height will be only around 480px. Thus resulting in a 80% Speed increase for viewing while the Database itself is still sending the results. As mentioned above if running bootstrap and html5 , this is the way to go as a 1st choice.

Your other option if only running XHTML or HTML5 without Bootstrap is this;

There are a ton of Programmable Scripts around the internet for crunching down the viewing page also, I use this option along with other options at the same time. Having a Scrollbar system on a very Heavy Database Load will speed your page up also as this will also cut down on the view size hence , cut down on the load time. Your situation can be resolved for sure, so don't give up on it.

Here is a link on my test site you can view the Data Tables system on, I've moved around the Airport Info Menu Item for you on my site so you can view an example of this, it will be under the Menu Item heading of; "Operations", here is the link, you only have 24 hours and I will be moving it back to protection..........


Hope this helps you.


Share this post

Link to post
Share on other sites

I share with Heritage1 and another solution in my opinion.
Download the Simpilot module from here: https://github.com/DavidJClark/phpVMS-ScheduleSearch
Make some changes:
- file extension from airport_search.tpl to airport_search.php;
- April the file FrontSchedules.php from the directory modules and modify the extension of the files from .tpl to .php;
- open the file FrontSchedulesData.class from the common folder and change "public function" to "public static function.
- open the airport_search.php file and make the changes as shown below.
 (no drop-down menus for airport search, just typing)
just change:
<select class = "search" name = "depicao">
                    <option value = ""> All </option>
                    <? Php
                        foreach ($ airports as $ airport)
                            {echo '<option value = "'. $ airport-> icao. '">'. $ airport-> icao. ' - '. $ airport-> name.' </option> ';}
                </ Select>
<input type = "text" name = "depicao" value = "" placeholder = "Input ICAO Code" />


<select class="search" name="arricao">
                    <option value="">All</option>
                        foreach ($airports as $airport)
                            {echo '<option value="'.$airport->icao.'">'.$airport->icao.' - '.$airport->name.'</option>';}


<input type="text" name="arricao" value="" placeholder="Input ICAO Code"/>

the result is this:


I hope it was useful.

Edited by gio1961

Share this post

Link to post
Share on other sites


Didn't even knew that exsisted, LOL...thanks , looks great to gio. I'll have to check that out. I've been using other alternatives like Flight search by CC and Fltbook of course. Along with others. thanks for the post, but like I've told him above, this can be fixed, Transload Virtual Airlines had exactly the same problem. And believe it or not I was actually able to speed his system up by about 47% going outside of the box of course. He is still able to run over 45,000 schedules, over 2000 aircraft, and and well over 11,000 airports. LOL, I still can't believe its actually running all this LOL, and WOW.

One major reason why I've purchased all 3 modules from CC, charter, cargo, and executive, was just for this one reason, it relieves the main schedule database for sure.

Chat at ya soon I'm sure, 


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...