Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> такие запросы вообще законно делать?
Zzepish  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5597
Пользователь №: 32538
На форуме: 5 лет, 2 месяца, 27 дней
Карма: 57




				SELECT
*,
IFNULL(
(

SELECT
SUM(`rating`)
FROM
`shop_rating`
WHERE
`shop_rating`.`shop_id` = ur.`user_id`
GROUP BY
`shop_id`
LIMIT 1
),
0
)
+

IFNULL(
(

SELECT
SUM(`user_request_product_response`.`price`) / 1000
FROM
`user_request_product_response`
INNER JOIN
`user_response`
ON
`user_request_product_response`.`response_id` = `user_response`.`id`
WHERE
`user_request_product_response`.`user_id` = ur.`user_id`
AND
`user_response`.`is_confirmed_by_shop` = 1
) ,
0
)
AS rating,

(

SELECT
`shop_rating`.`date` as rating_id
FROM
`shop_rating`
WHERE
`shop_rating`.`response_id` = ur.`id`
ORDER BY `shop_rating`.`date` DESC
LIMIT
1
) as rating_last_date

FROM
`user_response` as ur
WHERE
ur.`is_accepted` = 1
AND
ur.`is_confirmed_by_shop` = 0
AND
ur.`created_at` < NOW() - INTERVAL 1 HOUR
HAVING
rating_last_date IS NOT NULL
AND

rating_last_date < NOW() - INTERVAL 1 HOUR



О_о я вообще в шоке со своего запроса. У меня ощущение, что при 1000 записей в каждой таблице он нахрен положит базу
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1618
Пользователь №: 28976
На форуме: 6 лет, 24 дня
Карма: 102




да нормальный запрос. Думаю даже выполняться будет быстро
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26461
Пользователь №: 21350
На форуме: 7 лет, 5 месяцев, 9 дней
Карма: 739




ужс.. тимлид тебя грохнет.

тут же на лицо 3 запроса и математика на php


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5597
Пользователь №: 32538
На форуме: 5 лет, 2 месяца, 27 дней
Карма: 57




Kusss
Выполняется 0.016 секунды на 3-7 записей на таблицу. На больших данных не тестил.
Игорь_Vasinsky
Я ему не показывал biggrin.gif просто начал делать через запросы, а переделывать было леньки( однако - местами проще было на php
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15409
Пользователь №: 4190
На форуме: 9 лет, 6 месяцев, 17 дней
Карма: 470




Цитата (Zzepish @ 9.09.2016 - 17:55)
У меня ощущение, что при 1000 записей в каждой таблице он нахрен положит базу

"Не смешите мои подковы!" (с) user posted image

Сходи вот сюда http://phpforum.su/index.php?showtopic=50424 и больше не говори, что у тебя страшный запрос smile.gif При правильно сконструированной базе всё работает быстро и с большими запросами.
В частности, посмотри мои ответы. Причем все без исключения. Я там и насчет объемов запросов писал, и насчет скорости их выполнения. В т.ч. и насчет оптимизации выполнения.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5597
Пользователь №: 32538
На форуме: 5 лет, 2 месяца, 27 дней
Карма: 57




sergeiss
Цитата
Сходи вот сюда http://phpforum.su/index.php?showtopic=50424 и больше не говори, что у тебя страшный запрос 

Там вообще какая-то страшная дичь!

Ну, у меня explain выдает 2 таблицы по WHERE и INDEX, 1 по INDEX, 1 по NULL, и одна по where, index и filesort (как-то так)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15409
Пользователь №: 4190
На форуме: 9 лет, 6 месяцев, 17 дней
Карма: 470




Цитата (Zzepish @ 9.09.2016 - 22:46)
Там вообще какая-то страшная дичь!

Там не дичь. Там - реальная жизнь без розовых очков wink.gif
И что особенно радует при работе с БД, это когда за счет оптимизации запросов уменьшаешь время время выборки на порядок, т.е. реально в 10 раз. И при этом получаешь те же данные.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2054
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 20 дней
Карма: 47




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

Я недавно за счет таких вод подзапросов в селекте, увеличил скорость выполнения SQL запроса в раз 100, так как это был единственный способ заставить mysql разбить where условие с or, который не позвлял юзнуть индексы. Правда с агрегацией там получились проблемы, данных на столько было много, что их невозможно агрегировать.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5597
Пользователь №: 32538
На форуме: 5 лет, 2 месяца, 27 дней
Карма: 57




sergeiss
О_о я надеялся, что запросы будут красивы и лаконичны! А код будет порхать как бабочка. А такие кривые запросы только у меня, ибо я еще нубчик!

chee
ну, в эксплеин смотрел:
Цитата
Ну, у меня explain выдает 2 таблицы по WHERE и INDEX, 1 по INDEX, 1 по NULL, и одна по where, index и filesort (как-то так)

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1361
Пользователь №: 41686
На форуме: 2 года, 14 дней
Карма: 25




Цитата (sergeiss @ 9.09.2016 - 22:51)
когда за счет оптимизации запросов уменьшаешь время время выборки на порядок, т.е. реально в 10 раз.

Есть еще какое-то толкование выражения "на порядок"? =)



--------------------
5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2054
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 20 дней
Карма: 47




Zzepish, покажи весь вывод EXPLAIN'а


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5597
Пользователь №: 32538
На форуме: 5 лет, 2 месяца, 27 дней
Карма: 57




chee
Я не на работе((( дома нету базы
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15409
Пользователь №: 4190
На форуме: 9 лет, 6 месяцев, 17 дней
Карма: 470




Цитата (Ron @ 10.09.2016 - 04:45)
Есть еще какое-то толкование выражения "на порядок"? =)

Часто это выражение используется как синоним "во много раз", но вовсе не обязательно, что в 10 раз. Поэтому я и уточнил smile.gif


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1788
Пользователь №: 20757
На форуме: 7 лет, 6 месяцев, 21 день
Карма: 187




Цитата (Ron @ 10.09.2016 - 07:45)
Есть еще какое-то толкование выражения "на порядок"? =)

Например, в двоичной системе счисления на порядок - это в 2 раза. Т.е. 16 на 2 порядка больше чем 4 в двоичной СС и только на один порядок больше в десятичной.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1361
Пользователь №: 41686
На форуме: 2 года, 14 дней
Карма: 25




Ну да, просто подбешивает, когда люди говорят "на порядок" и порой имеют ввиду даже не в 2 раза, а просто больше на какое-то, с их точки зрения, значительное число.



--------------------
5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса