I'm guessing it would be faster to keep one row per message in a conversation. With an integer conversation_id that is indexed, retrieving the whole conversation should be quick
SELECT fields, you, need, FROM message WHERE conversation_id = $conversation_id ORDER BY send_time
But you could profile it by trying both approaches and compare the results.
$start = microtime(true);
// code here
$end = microtime(true);
$time_spent = $start - $end;
echo 'It took ' . $time_spent . ' seconds';
Another approach would be to keep conversations as an array of messages and un-/serialize that, but you lose readability in the db.