提前计划“sql_calc_found_rows”折旧并使用新的数据表 1.10.18 我有一个问题。对于服务器端处理,您需要反馈总计和过滤总计。因此,从我收集到的信息来看,我必须为每个请求运行 3 个单独的查询,这似乎过多,但我想不出如何在不这样做的情况下获取信息。
// Grab the data with page offset
// for "data"
$query1 = 'SELECT .. FROM .. WHERE .. LIMIT ..'
// Grab filtered total which is the total using the "WHERE" without the "LIMIT"
// for "recordsFiltered"
$query2 = 'SELECT COUNT FROM .. WHERE .. '
// Grab the total records without the WHERE
// for "recordsTotal"
$query3 = 'SELECT COUNT FROM ..'
使用复杂的查询和半大型数据集 (100k-2mill) 记录,并且每次有人在搜索中键入一个字母(他们在单词中键入的每个字母)或点击列排序和更改页面的时间和数量时,都会触发这个事实查询/执行似乎很疯狂。
我是否遗漏了任何东西,或者这只是使用数据表必须在每个请求中触发 3 个数据库查询所需的内容?谢谢。