![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Temp |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
Имеет сайт http://mp3disc.info в котором база выполнена на mysql в котором таблица с данными имеет 115000 записей.
запрос к базе
занял 7.3969 сек а такой запрос
занял 0.2789 сек Из за того что стоит сортировка запросы обрабатываются в 35 раз медленнее. Как выполнять такие запросы быстро? -------------------- <удалено администрацией> |
||||
|
|||||
| Temp |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
ещё обнаружил интересную вещь!
Отображает строки 0 - 29 (115,819 всего, запрос занял 0.0016 сек.)
Отображает строки 115800 - 115818 (115,819 всего, запрос занял 16.4113 сек.) последняя страница в 10000 раз медленнее открывается !!! -------------------- <удалено администрацией> |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
а такое как долго будет выполняться? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Temp |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
ksnk,
Отображает строки 0 - 29 (305 всего, запрос занял 16.6282 сек.) -------------------- <удалено администрацией> |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Может, пора сделать оптимизирование таблице? Id - primary key?
Можно покрутить такую комбинацию
и сразу второй
так может получится быстрее. Хотя все равно как-то непонятно... Это сообщение отредактировал(а) ksnk - 26.4.2011, 23:09 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: нет Всего: 4 |
Любопытно... судя по времени на status индекс уже есть...
Поставить как писали выше на id primary key Если он уже стоит, то чудеса |
|||
|
||||
| Temp |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
ksnk, я не совсем понял что за первый запрос!
структура таблицы
Это сообщение отредактировал(а) Temp - 27.4.2011, 11:28 -------------------- <удалено администрацией> |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Понятно, что проверки бы не помешали, но для чернового тестирования идеи может и так сойти... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Temp |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
Может быть эа проблема из-за того что база более 100 000 строк содержит?!
-------------------- <удалено администрацией> |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
То, что предлагаю я - просто выборка из базы (утверждается, что она быстрая) ~300 записей и вставка их во временную таблицу. Таблица с ключом temporary создается, предпочтительно, в памяти и должна по идее работать быстро. Так как записей там тоже немного - селект с сортировкой будет также достаточно быстр.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| solenko |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
А
сколько займет? (а еще лучше через BENCHMARK) -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
| Temp |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 577 Регистрация: 12.1.2003 Репутация: нет Всего: -3 |
сегодня дела ещё хуже
Отображает строки 0 - 29 (305 всего, запрос занял 1.0859 сек.)
Отображает строки 0 - 29 (305 всего, запрос занял 2.4026 сек.) ksnk, не работает код, ошибку пишет "#1054 - Unknown column 'id' DESC' in 'order clause'" -------------------- <удалено администрацией> |
||||
|
|||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: нет Всего: 4 |
А после:
SELECT * FROM `fde_articles` WHERE `title` LIKE '%Beatles%' and `status` = 3 идентификаторы выдает по возрастанию? Можно взять и средствами Php сделать reverse , оч быстро будет работать http://php.net/manual/en/function.array-reverse.php |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
последняя строчка
кавычка у id была другая -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
Блин, да дайте же explain запроса. Думаю, при добавлении order_by там появится самая медленная операция -- filesort
По поводу limit это давняя проблема -- http://www.mysqlperformanceblog.com/2008/0...nated-displays/ -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |