SQL 字符串大小减少

SQL string size reduction

我不知道 google 为我回答这个问题的神奇关键字,如果这是广泛可用的知识,请原谅我。

在代码中编写查询语句时,生成的字符串要么难以阅读(这个示例非常简单,但希望您能理解要点):

var sqlString = "Select e.f_name as FirstName, e.l_name as LastName from Employees as e where start_date > '2020-05-01'";

或者查询将易于阅读但包含大量额外的空格并且比必要的别名更长:

var sqlString = 
    @"Select emp.f_name as FirstName
           , emp.l_name as LastName
      From Employees as emp
      Where start_date > '2020-05-01'";

2 个问题:

ado.net 或 Oracle.ManagedDataAccess 是否会自动执行任何类型的字符串压缩以使其对于非常大的查询表达式来说不是问题?

如果以上问题的答案是否定的,那么是否有一个库可以智能地去除空格并将长别名替换为短别名而不会弄乱查询字符串中的 whitespace/text?

Does ado.net or Oracle.ManagedDataAccess do any kind of string compression automatically to make this a non-issue for very large query expressions?

几十年前,快速网络基本上使这不是问题。对于大多数情况,这真的无关紧要。

但是 ODP.NET 是为数不多的拥有客户端 statement cache 的提供商之一,如果需要,它甚至可以使用连接池。使用语句缓存准备语句,后续调用不会通过网络发送查询文本。

而且您始终可以将 SQL 查询格式化为可读、可粘贴并尽量减少空格,如下所示:

           var sqlString = @"
Select 
  emp.f_name as FirstName
  emp.l_name as LastName
From Employees as emp
Where start_date > :startDate
";