php - 如何重新查询查询?

标签 php mysql

考虑“Query1”,它非常耗时。 “Query1”不是静态的,它取决于 $language_id 参数,这就是为什么我不能将它保存在服务器上。 我想用另一个查询语句查询这个“Query1”。我希望这应该很快。我可能看到两种方式

  1. $result = mysql_query('SELECT * FROM raw_data_tbl WHERE ((ID=$language_id) AND (age>13))');

    然后呢?在这里我想获取结果并用类似的东西重新查询它:

    $result2 = mysql_query('SELECT * FROM $result WHERE (Salary>1000)');

  2. 是否可以直接在服务器端创建类似于“基于变量”的 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/

相关文章:

php - foreach 循环仅更新表中最后一个值 3 次

php - 如何正确设置 Kohana 的 .htaccess,使 URL 中没有难看的 "index.php/"?

javascript - 表单不更新动态 html 表的行数

mysql - 如果当前行值为 NULL,则取上一行值

php - 将 RecursiveIteratorIterator 与命名空间一起使用?

javascript - 表单序列化发送数据

php - 如何在 PHP 中获取真实的主机名或服务器名

MySQL DATE 返回 NULL

php - PDO::lastInsertId 对于非常快速的插入是否可靠?

mysql - Rails - 指定连接列