2012-04-18 14 views
0

私は約1500文字の長い各文字列を各mysqlデータベースの行に格納しています。この値はあまり使用されないため、パフォーマンスはあまり重要ではありませんが、データベースの他の列の値は頻繁に使用されます。MySQLのストレージの最適化

これらの大きな文字列を他のデータと同じ行にこのテーブルに格納するのが最適ではありませんか?これは何らかの形でパフォーマンスを傷つけますか?

これらの大きな文字列を別々のテーブルに保存する必要がありますか?私はmysqlがこれらの種類のものを最適化する方法についてはっきりしておらず、心配する必要があるかどうかはわかりません。

+0

なぜあなたは懸念していますか?パフォーマンスが低下していますか? – iBiryukov

答えて

1

他のテーブルにこれらの文字列を保存する必要はありません。これはあなたがその長い文字列データベースから読み込むようになります

SELECT * FROM `my_table` 

-

いけないが、このようなものを使用します。このようにしてみてください。

SELECT field1, field2 FROM `my_table` 

ここで、フィールド1とフィールド2は長い文字列フィールドではありません。もちろん、必要ならばそれをSELECTクエリに含めることもできます。このようにして、データベースからフェッチする時間を節約できます。

そして、あなたはたくさんのデータを持っていないうちにこれについて心配する必要はありません。

これを読んで試してみてください:

http://dev.mysql.com/doc/refman/5.0/en/select-optimization.html

+0

これはmysqlがキャッシュすることに影響しますか、mysqlの終了時にキャッシュを変更するためにパフォーマンスに影響しますか? – xur17