我尽可能少地影响性能,并努力做到这一点。PHP MySQL的操作方法和性能
这里的设置...
搜索与搜索精炼过滤器,使一个AJAX调用返回结果的新(精)设置PHP处理结果页面。
我有4个表包含我需要连接到PHP处理程序代码中的所有数据。
表1 - 与主要细节
表2的记录主表 - 评分从专业评级公司#每个产品1
表3 - 评分从专业评级公司#每个产品2
表4 - 来自专业评级公司#3的每个产品的评级
搜索结果页面上的精炼者是jquery滑块,范围从最低允许评分到最高评分。
移动滑块句柄时,将使用新值创建新的AJAX调用,并运行数据库查询以创建一组全新的提炼结果。
从表1中获取我需要的数据是非常简单的部分。我正在努力的是如何有效地在其他3个表中包含连接,并只拾取与精炼值/范围相匹配的行。表2,3和4的年份(2004 - 2012年)都有多个列,当我初步尝试将其全部纳入一个查询时,它陷入了困境。
表2,3,4保持每个记录的各种等级表1
表2,3列,4 ... ID - 的productID - y2004 - y2005 - y2006 - y2007 - ...你明白了。
每年的每列都有一个数字值(默认为0)。
我需要做的是有效地选择匹配用户在所有4个表中一次选择的精细范围的记录。
炼油厂搜索示例将是...获取表1中的所有记录,其中价格介于25美元和50美元之间,并且表2记录具有1-4之间的评级(来自任何年份/列),并且其中表3记录有一个评级(从任何年份/列)在80 - 100之间,表4记录的评级(从任何年份/列)在80 - 100之间。
任何关于如何设置它的性能尽可能?
我们平均在初始搜索中讨论了多少结果?将它们全部加载并使用JS进行过滤可能会更容易 - 使用MySQL跳过这些过滤,使用Javascript完成所有操作。当然,这取决于开始的记录数量,因为您不想让浏览器停滞不前。 – BenOfTheNorth