Это самый простой способ:
string s = name + std::to_string(age);
Я считаю, что ваш запрос, вероятно, соответствует большому проценту данных в таблице. В подобных ситуациях оптимизатор MySQL часто выбирает сканирование таблицы и полностью игнорирует индексы, поскольку на самом деле это быстрее, чем выполнять дополнительные чтения всего индекса и использовать его для выбора данных. Итак, в этом случае я предполагаю, что public_private = 'yes' и authorized = 'yes'
соответствует значительной части вашей таблицы. Следовательно, если MySQL пропускает использование индекса из-за этого, то он также недоступен для сортировки.
Если вы действительно хотите, чтобы он использовал индекс, то решением было бы использовать FORCE INDEX
:
select * from videos FORCE INDEX (approved_2) where public_private='public' and approved='yes' order by number_of_views desc;
Однако я бы провел несколько тестов, чтобы убедиться, что вы re получение на самом деле быстрее, чем то, что выбрал оптимизатор MySQL. Очевидно, у оптимизатора действительно есть некоторые проблемы при выборе элементов для упорядочивания, так что вы определенно можете попробовать это и посмотреть, улучшится ли производительность.
добавьте отдельный индекс в столбец number_of_views
и посмотрите, работает ли он тогда.
Если ключ представляет собой комбинацию из 3 столбцов, он будет использовать этот конкретный ключ только тогда, когда он использует все 3 для выполнения операции
Порядок имеет значение в составных ключах. Я забыл правила, но попробую в другом порядке.
Порядок имеет значение в составных ключах. Если вы хотите выполнить сортировку только по number_of_views
с использованием ключа authorized_2
, измените:
KEY `approved_2` (`approved`,`public_private`,`number_of_views`)
на:
KEY `approved_2` (`number_of_views`,`approved`,`public_private`)
Составные ключи в MySQL работают слева направо. В приведенном выше примере ключ, объявленный с использованием number_of_views
, Approved
и public_private
неявности, создает индексы для:
number_of_views
number_of_views
, одобрено
number_of_views
, одобрено
, public_private