Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中,子字符串(1200)是否比获取文本列的完整值更好?_Mysql_Database_Performance_Query Optimization_Substring - Fatal编程技术网

在MySQL中,子字符串(1200)是否比获取文本列的完整值更好?

在MySQL中,子字符串(1200)是否比获取文本列的完整值更好?,mysql,database,performance,query-optimization,substring,Mysql,Database,Performance,Query Optimization,Substring,假设你的表格上有一个文本栏,可以是巨大的/段落长度的咆哮,也可以只有几行句子 性能方面/服务器负载方面,执行以下操作是否更好: SELECT SUBSTRING( myTxtColumn, 1, 200) FROM myTable AS myTxtColumn 或者做: SELECT myTxtColumn FROM myTable 以下哪项查询会增加服务器的负载 我很好奇,对于服务器来说,获取列的完整值是否比在其上执行子字符串()更容易,或者子字符串()是否更容易,因为它只返回前200个字

假设你的表格上有一个文本栏,可以是巨大的/段落长度的咆哮,也可以只有几行句子

性能方面/服务器负载方面,执行以下操作是否更好:

SELECT SUBSTRING( myTxtColumn, 1, 200) FROM myTable AS myTxtColumn
或者做:

SELECT myTxtColumn FROM myTable
以下哪项查询会增加服务器的负载


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

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

cpu与网络流量(也可能是磁盘I/O,但如果是热页,则应缓存在内存中);建议您进行基准测试…我想两者没有区别,因为两者都需要磁盘搜索