【问题标题】:It's okay to pass a MySQL query with a lot of spaces?传递一个带有很多空格的 MySQL 查询可以吗?
【发布时间】:2012-07-19 05:07:38
【问题描述】:

我在 PHP 中使用这个查询:

$query = "UPDATE viajens SET tipo_operacao = $tipo_operacao, 
                             percurso = $percurso, 
                             tipo_cliente = $tipo_cliente, 
                             previsao_inicio = '$previsao_inicio', 
                             previsao_fim = '$previsao_fim', 
                             quilometragem_estimada = '$km_estimada', 
                             origem_empresa_id = $origem, 
                             transportador_empresa_id = $transportador, 
                             motorista_id = $motorista, 
                             veiculo_id = $veiculo1, 
                             reboque1_veiculo_id = $veiculo2, 
                             reboque2_veiculo_id = $veiculo3, 
                             reboque3_veiculo_id = $veiculo4 
                       WHERE id_viajem = $id_viajem;";

解析视图:

$query = "UPDATE viajens SET tipo_operacao = $tipo_operacao,                                percurso = $percurso,                                tipo_cliente = $tipo_cliente,                               previsao_inicio = '$previsao_inicio',                                previsao_fim = '$previsao_fim',                                quilometragem_estimada = '$km_estimada',                                origem_empresa_id = $origem,                                transportador_empresa_id = $transportador,                                motorista_id = $motorista,                                veiculo_id = $veiculo1,                                reboque1_veiculo_id = $veiculo2,                                reboque2_veiculo_id = $veiculo3,                                reboque3_veiculo_id = $veiculo4                                WHERE id_viajem = $id_viajem;";

通过这样做,MySQL 处理这个查询会比内联查询慢吗?

【问题讨论】:

  • 不,不会慢,解析是执行这个查询最快的部分。

标签: php mysql sql tsql


【解决方案1】:

是的,空格很好,所以如果你觉得它更具可读性,请坚持使用现有的。去除空格并不是计算机有任何麻烦的事情。

【讨论】:

    【解决方案2】:

    空格没有问题,记住,SQL 和其他语言一样,在执行代码之前,会对其进行解析以构造 AST(抽象语法树 从您的代码派生),忽略 cmets 和空格。

    顺便说一句,AST 只包含执行代码所需的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      相关资源
      最近更新 更多