Переход на кодировку `utf8mb4` и установка соответствующих настроек базы данных, безусловно, лучше с точки зрения поддержки всех доступных Unicode символов, включая эмодзи и некоторые специальные символы, которые не поддерживаются в `utf8mb3` (который фактически является `utf8` в MySQL/MariaDB).
### Изменение настроек базы данных
Если вы измените настройки базы данных на:
```ini
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
```
Это устанавливает кодировку для вашей базы данных и всех новых подключений по умолчанию в `utf8mb4`, что приведет к лучшей поддержке символов. В этом случае строки в вашем коде, которые выполняют `SET NAMES 'utf8mb4'` и `SET collation_connection = 'utf8mb4_unicode_ci'`, становятся излишними, и вы можете их удалить.
### Влияние на производительность
Что касается производительности, то переключение кодировки может уменьшить нагрузку на процессор. Когда вы выполняете `SET NAMES`, это может привести к некоторым затратам производительности на каждый запрос, поскольку сервер должен конвертировать данные из одной кодировки в другую. Если установлены правильные настройки на уровне сервера, дополнительных преобразований не потребуется, так как данные уже будут храниться и передаваться в нужной кодировке.
### О нагрузке на CPU
Да, "конвертация" кодировки "на лету" с использованием PHP может значительно увеличить нагрузку на процессор, особенно если соединения и запросы обрабатываются в большом объеме. Если все подключения к базе данных и записи уже адаптированы к `utf8mb4`, то ваш сервер базы данных сможет сосредоточиться на выполнении запросов, а не на конвертации кодировок.
### Заключение
В общем, правильное изменение настроек базы данных на `utf8mb4` и удаление соответствующих строк из PHP-скрипта стоит сделать, если вы хотите избежать лишних преобразований и улучшить поддержку символов Unicode, что в свою очередь может также улучшить производительность вашей базы данных. Однако всегда стоит заранее провести тестирование, особенно если ваше приложение уже использует кодировку `utf8mb3`.