Функція LENGTH, Mysql — визначення довжини поля

стоїть завдання паерекласти описи 7000 + товарів, при чому описи розбиті на частини. Загалом виходить ~40 тисяч записів різного калібру.

Переклад здійснюється через api відкритого сервісу, проте якщо штурмувати ресурс 40 тисяч разів з кожним окремим записом, то сервер нас культурно полшле…

SELECT productNativeDesc, LENGTH(productNativeDesc) AS length FROM ikeaProducts Where productSKU = '20129672'

Поза тим не все так погано: записи є короткими, по 300-1000 знаків, а ліміт перекладу через один запит у нас стоїть в 10000 знаків.

Відтак, завдання зводиться до того, щоб згрупувати увесь непотріб так, щоб він не випадав з рамок пристойності.

Логіка проста:

  • обходимо поля з описом;
  • по черзі додаємо їх до кошику, з прив’язкою до товару;
  • через LENGTH(productNativeDesc) визначаємо, чи не перевищуватиме наш кошик свій ліміт в 10000 знаків з кожним новим описом;
  • як тільки доходимо до межі, формуємо відправлення на переклад і вертаємось по новій.

Взаємодія з індивідуальним перекладом розтягується на три дні, через блокування перевищення лімітів. Пізніше зазначу, скільки займає оновлений алгоритм.

Залишити відповідь