>假设你的表格上有一个 TEXT 列,它可能是巨大的/段落长的咆哮,或者只有几句话长行。
性能方面/服务器负载方面,是否最好这样做:
SELECT SUBSTRING( myTxtColumn, 1, 200) FROM myTable AS myTxtColumn
或者要做:
SELECT myTxtColumn FROM myTable
哪个查询会给服务器带来更多负载?
我很好奇服务器获取列的完整值是否比对其执行 SUBSTRING() 更容易,或者 SUBSTRING() 是否会更容易,因为它只返回前 200 个字符而不是几个 KB 长的文本值。
我会谨慎行事并使用子字符串。 您的第一个查询可能需要在对其执行子字符串之前读取整个字符串(我怀疑 mysql 比这更聪明,但谁知道呢)。 您的第二个查询肯定必须读取整个字符串并通过网络发送。