Добрый день у меня такой вопрос, как мне выбрать из базы только 10 записей в плане скорости? поясню у меня скажем есть миллион записей когда я пишу запрос на получение данных и укажу LIMIT 10 то система выберет миллион записей и покажет только 10, то есть времени уйдет все равно как на показ миллиона записей как можно получить именно 10 записей из миллиона чтобы скорость была как при получении 10 записей а не миллиона?
У тебя запрос с джоином что ли? Просто мне по работе попался такой, очень долго выполнялся запрос, оказалось, что тупо индекса не было.
Даже при наличии индекса с LIMIT'ом не все так просто, особенно когда нужно выбрать 10 записей из «середины» списка. В хайлоад для этого используются спец. методы, например задание базы не при помощи параметра LIMIT, а при помощи условия с индексируемым полем.
На самом деле вопрос не лишён смысла. Но надо различать случаи LIMIT n и LIMIT m, n Первый просто заканчивает работу после выборки n записей. Второй находит m + n записей но отдает только последние n из них. И вот тут может появиться провал в производительности при больших значениях m. Тема уже поднималась и на форуме и в целом в интернете. Ищите. --- Добавлено --- P.S. терпеть не могу слово "хайлоад". Это примерно как "сео" только для увеличения стоимости программеров, а не просто пустых пиздаболов. Buzzword. --- Добавлено --- Вот нашел со своим участием: https://php.ru/forum/threads/sluchajnyj-vyvod-iz-bazy.34676/ Google: "mysql limit performance"