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

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

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



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

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




				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  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1529
Пользователь №: 28976
На форуме: 5 лет, 10 месяцев, 1 день
Карма: 91




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

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



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

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




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

тут же на лицо 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  
 ۩  Дата
Цитировать сообщение

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



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

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




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

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



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

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




Цитата (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  
 ۩  Дата
Цитировать сообщение

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



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

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




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  
Дата
Цитировать сообщение

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



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

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




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

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


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

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

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

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

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



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

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




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

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


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

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

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



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

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




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

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

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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1283
Пользователь №: 41686
На форуме: 1 год, 9 месяцев, 21 день
Карма: 23




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

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



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

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



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

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




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


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

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

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



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

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




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

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



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

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




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

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


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

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

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

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

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



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

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




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

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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1283
Пользователь №: 41686
На форуме: 1 год, 9 месяцев, 21 день
Карма: 23




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



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

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