Зависит.
Oracle имеет Менеджер ресурсов. SQL Server имеет тот также (получил тот в 2008). Другие (MySQL) не делают.
как они работают? Как каждый планировщик. В основном они измеряют счетчики производительности и если один пользователь / база данных пробегается через выделенный предел, его запросы замедлены (понизьте piority, обычно) по сравнению с остальными.
Обратите внимание, что "база данных главным образом неактивна", ДЕЙСТВИТЕЛЬНО сложный вопрос для баз данных. о чем Вы говорите? IO? ЦП? Различные запросы имеют различные узкие места.
MySQL, насколько я знаю, не имеет способа искусственно ограничить использование ресурсов пользователем.
Обычно Вы не ограничиваете доступ к базе данных / запросы непосредственно, если Вы хотите предложить различные уровни обслуживания клиентам, Вы делаете это на другом уровне (например, Вы ограничиваете количество процессов, отвечая на веб-запросы, это косвенно ограничит использование ресурсов на целой внутренней инфраструктуре).
Пользователи, которые действительно злоупотребляют общую систему на грани создания проблем другим пользователям, обычно обнаруживаются другими средствами (например, системный мониторинг предупредит Вас безразличной системы), и уничтоженный вручную. Но это не регулярное "планирование" нормального функционирования, это - обнаружение задач и ответ.
Вы можете ограничить количество ресурсов на пользователя с помощью команд alter
ALTER USER 'dbreports'@'aihello.com' WITH MAX_QUERIES_PER_HOUR 100;
ALTER USER 'dbreports'@'aihello.com' WITH MAX_UPDATES_PER_HOUR 10;
ALTER USER 'dbreports'@'aihello.com' WITH MAX_CONNECTIONS_PER_HOUR 5;
ALTER USER 'dbreports'@'aihello.com' WITH MAX_USER_CONNECTIONS 2;
Дополнительная информация здесь: https://dev.mysql.com/doc/refman/8.0/en/user-resources.html