3

假设您的桌子上有一个 TEXT 列,它可能是巨大的/段落长的咆哮,或者只有几句话长的行。

性能方面/服务器负载方面,这样做是否更好:

SELECT SUBSTRING( myTxtColumn, 1, 200) FROM myTable AS myTxtColumn

或做:

SELECT myTxtColumn FROM myTable

哪个查询会给服务器带来更多负载?

我很好奇服务器获取列的完整值是否比对其执行 SUBSTRING() 更容易,或者 SUBSTRING() 是否会更容易,因为它只返回前 200 个字符而不是几个KB 长文本值。

4

1 回答 1

2

我会谨慎行事并使用子字符串。您的第一个查询可能需要在对其执行子字符串之前读取整个字符串(我怀疑 mysql 比这更聪明,但谁知道)。您的第二个查询肯定必须读取整个字符串并通过网络发送。

于 2012-09-15T03:15:52.843 回答