mysql - 在 MySQL 中,SUBSTRING(1, 200) 是否比获取 TEXT 列的完整值更好?

标签 mysql database performance query-optimization substring

假设您的表格上有一个 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/

相关文章:

mysql - 无法通过 XAMPP 和 phpMyAdmin 访问 MySQL

mysql - 如何创建 API 在 MySQL 中插入数据并解析具有重复键的 json

php pdo更新语句

php - 如何在 laravel 中使用 joins 和 groupby 并进行迭代?

Mysql Innodb优化表

python - 如何在pythonanywhere中使用flask连接数据库

database - LMDB 随机写入大数据真的很慢 (~1MB/s)

database - 为日历应用程序布置数据库架构

java - J2EE环境-多线程-并行从不同服务获取数据

javascript - 嵌套的辅助函数和性能