Это значит, что нету индекса. Сперва идёт группировка, потом поля в селекте — индекс не подходит для запроса, получается файловая группировка.
Попробуйте на индексе по page создать. Если page не слишком большой — можно попробовать uid добавить сюда же, а если большой — не имеет смысла.
egorinsk, любопытно, можете рассказать поподробнее, что за условие?
Почему это вообще становится возможным, я представляю — если комментарий в mp3 хранится как plain-text, то да, может быть исполнен.
А, ну и если файлу дать имя соответствующее (или другим образом натравить интерпретатор PHP на него) — точно, будет выполнен.
Интересно, не задумывался о таком.
Имя файла тем более не имеет никакого отношения к формату. php.net/manual/en/book.fileinfo.php можно как первый уровень
Совет RuslanCC как основная валидация.
Если критичен именно этот запрос — пара дополнительных полей firstLetter & strLength и составной индекс по ним решат вопрос. Для сопровождения актуальности — пару триггеров.
Да, на эти пару параметров тоже обратил внимание. Их мониторить надо, меняются ли со временем. Можно badblocks прогнать, посмотреть, что изменится после чтения всей поверхности диска. Пока вроде бы не смертельны.
PS: как вам вообще удалось на паре дисков, различающихся возрастом на 9 месяцев, получить синхронные количество старт-стопов?
RTree только myisam, инвертированный индекс — так он не перестаёт быть B-tree от этого (если я, конечно, думаю про то же, что и вы, т.к. ман по словосочетанию Inverted index ничего не знает).
BTree и остаётся только.
Конвертируйте в innodb. Остальное значения не имеет, конфиг — тем более. MyISAM использует на любой чих табличную блокировку. Даже не говоря об отсутствии транзакционности, под конкурирующее чтение-запись не подходит.
Ставите себе какую-нибудь задачу, реализовываете. В процессе вы уже знаете, где у вас пробелы знаний. Соответственно этому подбираете книгу и читаете. Если пробела не нашли и задача решена — выбираете любую книгу из пожеланий «обязательно к прочтения» и читаете. Например: habrahabr.ru/post/135897/
Точного списка знаний быть не может. Программирование охватывает слишком много областей, чтобы познать все. Пробуйте всё подряд, что понравилось — углубляйтесь, останавливайтесь и закапывайтесь с головой в практику в этой области или же ищите дальше.
Мне нравится веб-программирование и я не понимаю, какие могут быть трудности в базе данных на пару десятков миллионов записей. Но я совершенно не знаю какое-нибудь там winAPI.
Вы тоже из Питера, так что я гарантирую, найти отличную работу программистом без корочки вуза — проблемы не составляет. Отправляйте резюме, сходите на пару собеседований — это очень быстро поможет если не найти работу, то понять, в каких областях пробелы.
Увлекаясь этим с 9-го класса вы уже точно должны знать одну или несколько областей, где вам нравится.
> Но без корочки
Ошибаетесь. Нормальные компании на корочки не смотрят, здесь имеет значение только опыт.
> и некоторых знаний, которые дают в универе
И вы в это верите? Что там будет хоть что-то, чего нельзя узнать самостоятельно? Люди, интересующиеся темой, на парах рассказывают преподавателям об этой теме, а не наоборот.
Зачем передавать большие объёмы в сервер очереди? Там должен быть таск: возьми (опционально, у того-то сервера) такой-то файлик, сделай с ним тот-то (опционально, кинь результат туда-то).
Gearman, PgQ, RabbitMQ и прочие.
> Чтобы это был не 127.0.0.1 нужен другой юзер с открытым доступом из вне
Это может быть unix-сокет.
MySQL авторизует по 3 параметрам, а не двум — логин, пароль, хост. Соответственно, может быть несколько пользователей root одновременно.
Попробуйте на индексе по page создать. Если page не слишком большой — можно попробовать uid добавить сюда же, а если большой — не имеет смысла.