![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: нет Всего: 60 |
Добрый день нужно оптимизировать следующий запрос
Запрос сортирует все записи по числу ( число обозначает на сколько хорошо заполнен профиль компании) что бы узнать на какой позиции компания по заполненной информации. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Единственная видимая оптимизация - это ввести LIMIT в подзапрос. В конкретно этом запрос - LIMIT 8.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: нет Всего: 60 |
Да лимит помог
А почему именно 8 а не 4 ? -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Потому что ежели 4, то получишь первые 4 записи (id=1..4)... а тебе нужны 5-я и 8-я... Добавлено через 1 минуту и 41 секунду Так, стопчик... а ты вообще отбираешь не по вычисленному номеру записи... тогда лимит вообще тут неприменим. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: нет Всего: 60 |
Пока оставил как есть без лимита и в реалтайме показываю из мемкеша Скорее всего перерасчет позиции в каталоге вынесу в крон и раз в день и буду у компании обновлять позицию в каталоге. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Sanchezzz, а сколько всего записей в таблице company? овчинка выделки-то стОит?
Опять же - как часто меняется значение поля company_procent? если редко - мож сгрюкать отдельную таблицу с номерами, и апдатить её из триггера? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: нет Всего: 60 |
Akina почти 9-10к компаний с одного города загрузи для теста около 5к.
Каждый пользователь имеет N добавленных лично компаний но на главной странице выводится 4 из последних добавленных пользователем. company_procent - это поле на сколько профиль компании заполнен, меняется всегда когда пользователь редактирует компанию. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Т.е. изменение company_procent только интерактивно? Тогда однозначно отдельная таблица с обновлением по триггеру.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: нет Всего: 60 |
ага.
А если доп поле сделать где номер указываем компании в каталоге, перерасчет делаем по крону каждые 3 часа. Что бы не привращять в систему реалтайм. Этот функционал только для того что бы вывести на главной странице 4 компании и на каком они месте ![]() Возможно этот бесполезный функционал и не будет реализован и заменен на скрытый рейтинг ) -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Из соображэний скорости, пожалуй, лучшэ будет не доп.поле, а отдельную таблицу. Хотя да, я понимаю, это в общем странности современных SQL-движков. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |