3

テーブルにTEXT列があり、それが巨大な/段落の長い暴言であるか、数文の長い行であるとします。

パフォーマンスの面で/サーバーの負荷の面で、次のことを行う方が良いですか?

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

または行う:

SELECT myTxtColumn FROM myTable

サーバーにより多くの負荷をかけるクエリはどれですか?

サーバーがSUBSTRING()を実行するよりも列の完全な値をフェッチする方が簡単なのか、それともSUBSTRING()が複数ではなく、最初の200文字しか返さないので簡単になるのか興味があります。 KBの長いテキスト値。

4

1 に答える 1

2

私は注意を怠って部分文字列を使用します。最初のクエリでは、部分文字列を実行する前に文字列全体を読み取る必要がある場合があります(mysql はそれより賢いと思いますが、誰にもわかりません)。2 番目のクエリでは、文字列全体を読み取り、ネットワーク経由で送信する必要があります。

于 2012-09-15T03:15:52.843 に答える