假设您的表格上有一个 TEXT 列,它可能是巨大的/段落长的咆哮,或者只有几句话的长行。
性能明智/服务器负载明智,这样做更好吗:
SELECT SUBSTRING( myTxtColumn, 1, 200) FROM myTable AS myTxtColumn
或者做:
SELECT myTxtColumn FROM myTable
哪些查询会给服务器带来更多负载?
我很好奇服务器获取列的全部值是否比对其执行 SUBSTRING() 更容易,或者 SUBSTRING() 是否更容易,因为它只返回前 200 个字符而不是比几个 KB 长文本值。
最佳答案
我会谨慎行事并使用子字符串。您的第一个查询可能 需要在对其执行子字符串之前读取整个字符串(我怀疑 mysql 比这更聪明,但谁知道呢)。您的第二个查询绝对必须读取整个字符串并通过网络发送。
关于mysql - 在 MySQL 中,SUBSTRING(1, 200) 是否比获取 TEXT 列的完整值更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12434058/