考虑“Query1”,它非常耗时。 “Query1”不是静态的,它取决于 $language_id 参数,这就是为什么我不能将它保存在服务器上。 我想用另一个查询语句查询这个“Query1”。我希望这应该很快。我可能看到两种方式
$result = mysql_query('SELECT * FROM raw_data_tbl WHERE ((ID=$language_id) AND (age>13))');
然后呢?在这里我想获取结果并用类似的东西重新查询它:
$result2 = mysql_query('SELECT * FROM $result WHERE (Salary>1000)');
是否可以直接在服务器端创建类似于“基于变量”的 MYSQL 查询,并以某种方式将变量 $language_id 传递给它?第二个查询将查询该查询:-)
谢谢...
最佳答案
不,没有你的第二个想法。
不过,对于第一个想法,我会使用一个查询:
select *
from raw_data
where id = $language_id
and age > 13
and Salary > 1000
如果您在表上设置了正确的索引,这个查询应该会非常快。
在这里,考虑到该查询的 where 子句,我至少会在这三列上使用索引:
id
年龄
工资
这应该会大大加快速度。
有关索引和查询优化的更多信息,请查看:
关于php - 如何重新查询查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5448824/