group-telegram.com/y_borzilo/943
Last Update:
Как проверить свой SQL код на адекватность?
🔸1. Нужно понимать диапазон значений для показателей, которые ты считаешь.
Например, если я пишу SQL запрос для интернет магазина для подсчета конверсии в первую покупку, то знаю, что диапазон значений этого показателя 0-100%. Если получилось, что то вне этого диапазона, то где-то ошибка.
100% конверсии в первую покупку я тоже никогда не видел. В реальности диапазон ещё меньше, обычно 0-10%. Т.е. все что вне этого диапазона это подозрительно.
🔸 2. Обычно запрос представляет из себя набор отдельных подзапросов - CTE.
Каждый такой блок относительно простой и пишу я их последовательно понимая какой результат мне отдает каждый предыдущий блок. Отдельные итерации контролировать проще, чем дебажить весь код сразу.
🔸 3. После того как написал sql запрос можно сделать кросс чек и сравнить данные исходных таблиц и данные конечной таблицы.
Например, если в исходной таблице у тебя 1000 пользователей и ты понимаешь, что ты должен их всех учесть, то в в результирующем запросе можешь вывести дополнительный агрегатный столбец с числом пользователей, чтобы понять не потерялись ли пользователи или не задублировались ли значения пока писал запрос.
🔸 4. Если у тебя есть какая-то система с исходными данными, то можно сравнить рассчитанный на SQL показатель с показателем в этой системе.
Например у меня в интерфейсе Яндекс метрики по сегменту мобильных устройств конверсия 3%, а на сырых данных я насчитал 10%, довольно большое расхождение, нужно перепроверить.
BY Борзило
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/y_borzilo/943