Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060

Ускорить выполнение запроса

23.12.2012, 05:44. Показов 1396. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Строк всего то 3к-4к. Выполняется больше секунды с сортировкой. Без сортировки 1 мс.
Юзается 3-4 left join
explain говорит Using temporary; Using filesor

Может нужно настройки поменять бд? Индексы могут влиять на сортировку? Связи по полям с типом int. Просто в другйо таблице 30к записей и без проблем выводятся, с сортировкой. Не могу понять что этой нужно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2012, 05:44
Ответы с готовыми решениями:

Выполнение запроса и получение его результата
Здравствуйте! Я произвожу добавление данных в таблицу используя PDO: $res = $this->db->query("INSERT INTO..."); ...

Выполнение sql запроса по нажатию на кнопку
Здравствуйте. Многие скажут, что есть подобные темы и т.п, но перечитал кучу уже и не нашел ответа. Есть вот такой запрос в бд ...

Выполнение SELECT запроса возвращает TRUE
Здравствуйте. Как следует из названия темы, следующий код заканчивается ошибкой, т.к. fetch_array скармливается не ресурс, а TRUE. В...

2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
23.12.2012, 07:46
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Using temporary; Using filesor
Using filesort - сортировка по неиндексированным полям или по вычисляемым выражениям. Надо от этого избавляться.

Using temporary - для построения финальной выдачи серверу приходится сохранять промежуточные результаты во временой таблице. От Using temporary избавиться сложнее без потери функционала.

Запрос и CREATE TABLE в студию.
1
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
23.12.2012, 14:50  [ТС]
Щас нет запроса под рукой. Таблица без индексов, просто
t1
SQL
1
id, t2_id, ....
t2
SQL
1
id, t3_id, ....
t3
SQL
1
id, t4_id,....
Запрос
SQL
1
2
3
4
5
6
SELECT t1.*, t3.name, t4.name FROM t1
LEFT JOIN t2 ON t2.id = t2_id
LEFT JOIN t3 ON t3.id = t3_id
LEFT JOIN t4 ON t4.id = t4_id
ORDER BY t1.id DESC
LIMIT 15 offset 0;
Сортировка по примари кей. Но таблицы объединены.

Добавлено через 1 час 24 минуты
Проблема решена, добавил индексы для полей по которым связаны таблицы.
Оказалось что в rails Тип поля reference не делает индекс для поля, хотя в django он делался автоматически, а таблицы созданы миграциями rails...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2012, 14:50
Помогаю со студенческими работами здесь

Выполнение запроса по нажатию кнопки и заполнению формы
Здравствуйте,стоит задание при заполнении данных пользователя, выдать информацию о его правах. В запросе ошибок нет, но почему-то ввожу...

Как ускорить выполнение цикла
Есть ajax запрос по которой передается данные в другой файл и там выполняется цикл от 100 до 1000 раз примерно function name(){ ...

Ускорить выполнение рекурсивного кода
У меня такая проблема: в коде много рекурсий, из-за чего он очень долго выполняется (до 20ти минут). Нужно ускорить работу выполнения...

Автоматическое выполнение SQL-запроса
В рамках дипломной работы пишу веб-приложение (Yii2, MySQL), которое представляет собой доску объявлений. Возникла потребность в...

Ускорить выполнение запроса
Народ! Запарился. Есть две таблицы: objects и params. objects - 1750000 записей, params - 12000000 записей в objects нас интересуют...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru