可能对您的应用程序有过大的杀伤力,但是:
以使“写入”过程变得更复杂为代价的一种相对简单的改善搜索的方法,是将Booking表更改为“ Availability”表。
添加一个布尔列以指示该广告位是空闲还是已预订(或者最好还是将其预订的客户的ID放入,如果该广告位是空闲的,则使用0)。
从2009年1月1日开始-> 12月31日开始使用一个免费插槽开始?
预订时,将可用插槽分成3个(两个插入和一个更新),已预订的插槽和两个可用插槽。
继续这样做,随着时间变得更加分散,预订过程将包括以下内容之一:
管理起来并不是那么复杂,搜索过程变成了一个简单的查询:在所需的时间范围内找到所有可用的空位(booked = false或customerid = 0,无论您采用哪种方式),其中enddate-startdate> = number你想要的日子。