Проблема на самом деле очень распространненая и на том же StackOverflow не один топик есть.
Суть в том, что ORDER BY RANDOM() начинает безбожно тормозить на хоть сколько-то больших объемах данных, даже на 100к записей это заметно. И самый простой способ оптимизирвать это «в лоб», первым запросом выбрать id записей, а потом уже выбрать нужную информацию по этим id.
В идеале, конечно, делается это через подзапросы к БД с более сложными штуками для оптимизации, но даже это примитивное решение джуниора, которое гуглится за 5 минут дает ощутимый прирост производиетльности.
Не работал ни с PHP, ни с Ruby, но насколько я знаю в случае с Node.js больше будут спрашивать про асинхронность и промисы. Плюс там NoSQL базы более популярны, та же Mongo DB. В случае с PHP обычно идет MySQL, настройка Apach'a часто встречается. Разница в подходах разная, у PHP проснулся, обработал запрос, умер, у node.js однопоточность и асинхронность.
>Сегодня давайте посмотрим, как легко и непринужденно запустить свой собственный IoT-проект под Raspberry Pi 2, используя Windows 10 IoT Core и DeviceHive.
И компьютер с обычной Windows 10. У меня такого нет. Поставить не могу, т.к. SSD 16Gb, да и есть сомнения, что драйвера для Chromebook имеются.
Получается мне нужно потратить деньги на новое устройство и лицензию операционной системы. А так как я бедный студент мне их придется ещё сначала заработать. И вот уже 2 дня только на подготовку к тому, чтобы начать что-то делать. Выглядит как-то грустно.
А вот за DeviceHive спасибо. Репозитории с Go и Python вселяют надежду, что бесплатная малина есть и для меня.
Проблема на самом деле очень распространненая и на том же StackOverflow не один топик есть.
Суть в том, что ORDER BY RANDOM() начинает безбожно тормозить на хоть сколько-то больших объемах данных, даже на 100к записей это заметно. И самый простой способ оптимизирвать это «в лоб», первым запросом выбрать id записей, а потом уже выбрать нужную информацию по этим id.
В идеале, конечно, делается это через подзапросы к БД с более сложными штуками для оптимизации, но даже это примитивное решение джуниора, которое гуглится за 5 минут дает ощутимый прирост производиетльности.
Николай Дуров
И компьютер с обычной Windows 10. У меня такого нет. Поставить не могу, т.к. SSD 16Gb, да и есть сомнения, что драйвера для Chromebook имеются.
Получается мне нужно потратить деньги на новое устройство и лицензию операционной системы. А так как я бедный студент мне их придется ещё сначала заработать. И вот уже 2 дня только на подготовку к тому, чтобы начать что-то делать. Выглядит как-то грустно.
А вот за DeviceHive спасибо. Репозитории с Go и Python вселяют надежду, что бесплатная малина есть и для меня.