Используя строки для конкатенации может привести к сложности во время выполнения на порядке O(n^2)
.
, Если Вы используете StringBuilder
, существует намного меньше копирования памяти, которая должна быть сделана. С StringBuilder(int capacity)
можно увеличить производительность, если можно оценить, как большой финал String
будет. Даже если Вы не точны, необходимо будет, вероятно, только вырастить способность StringBuilder
пару раз, который может помочь производительности также.
Я должен был сделать следующее, что могло бы помочь некоторым пользователям;
try{
$this->doctrine->em->persist($user);
$this->doctrine->em->flush();
}catch(Exception $e){
if($e->getPrevious()->getCode() == 23505){
//handle duplicate error, 23505 is for postgres, 23000 is mysql unique constraint.
}
}