@dba_ru

Страница 674 из 718
Crestoff
02.10.2018
17:47:31
Between n to m

Просто запрос 800-900мсек

Считаю что это очень долго

Fike
02.10.2018
17:49:03
объем выгребаемых данных?

Google
Fike
02.10.2018
17:49:12
джойны?

Crestoff
02.10.2018
17:49:30
Нет джойнов

В одном селекте

Ilia
02.10.2018
17:49:56
А в двух?

Crestoff
02.10.2018
17:50:19
В двух тоже самое

)

Fike
02.10.2018
17:51:37
Объем выгребаемых данных?

Сколько записей достает один запрос?

И, самое главное, много ли читает база данных в процессе выполнения запроса?

(сейчас окажется, что выгребается на уровне скоростей диска и все в порядке)

а, ну еще эксплейн-то сделай

Crestoff
02.10.2018
17:52:55
И, самое главное, много ли читает база данных в процессе выполнения запроса?
Можно я чуть позже в личку отпишу все подробности, отошел от компа. Спасибо.

Fike
02.10.2018
17:52:59
там легко filesort какой с такими объемами

Google
Fike
02.10.2018
17:53:02
лучше сюда

Crestoff
02.10.2018
17:53:41
Ок

а, ну еще эксплейн-то сделай
Тут 90% времени Sending data



примерное количество записей удовлетворяющих условия запроса 1m

Fike
02.10.2018
18:01:50
Если каждая запись по 10 байт (что уже неправда), то это только два мегабайта данных еще в непрочитанном виде (причем вряд ли это последовательное чтение, раз там есть фильтрация). Sending data впрочем странно, сколько строк приходит на клиент и какова пропускная способность сети?

Crestoff
02.10.2018
18:03:15
1Гбит

понятно что в данном запросе я не дёргаю все поля

Fike
02.10.2018
18:04:30
так а какая разница, это же не column-oriented

он все равно целиком запись читает

аааа, ты про отправку на клиент

Crestoff
02.10.2018
18:05:10
да

я тебе по количеству записей говорю что например запрос статсы за сутки обработает 1-2м записей

я просто думаю может 0.8 сек - это нормально для такого объёма

Fike
02.10.2018
18:10:57
profiling включи

или как его там

там будет более подробно расписано, куда время уходит

Crestoff
02.10.2018
18:12:48


Fike
02.10.2018
18:21:11
я бы прогуглил, судя по всему это совсем не отправка на клиент

Аня
02.10.2018
18:40:56


Google
Alexey
02.10.2018
18:56:54
Читай help(F1) к access. Ищи видео и статьи. "Не смог - не пограммист"

Аня
02.10.2018
20:34:44
Если бы я нашла ответ, я бы не спрашивала тут

Но я уже просто поменяла функцию на другую ?

Al
02.10.2018
20:38:18
Roman
02.10.2018
22:24:23
О! А говорили только в армии можно увидать :)

Natali
03.10.2018
16:50:00
Блин почему text importer в pl sql developer'е забирает из 2000-го csv только 100 строк

Terminator
03.10.2018
16:59:57
Taras Kronov будет жить. Поприветствуем!

Natali
03.10.2018
17:02:28
Се, загрузилось

Dshk :)
03.10.2018
18:21:55
ребят, объясните, пожалуйста учу EXISTS таблица вида id name price type 1 томат 15 1 2 лук 18 2 3 томат 14 1 Пишу вот такой запрос SELECT name, price FROM Product AS pr WHERE type=1 AND EXISTS (SELECT name From Product WHERE price = 14 AND name = pr.name ) а выводится name price томат 15 томат 14 в чём прикол? что не так? когда отдельно запускаю то, что в скобках, то нормально отрабатывает

Dshk :)
03.10.2018
18:24:50
В том что томат имеет type 1?
но этим же WHERE price = 14 AND name = pr.name должно было второй томат исключить

разве нет?

Кирилл
03.10.2018
18:26:11
Если нужно вывести томат 14, то зачем тут вложенный селект?

Shaz
03.10.2018
18:26:30
разве нет?
Если не исключило - значит нет.

Dshk :)
03.10.2018
18:27:27
Если нужно вывести томат 14, то зачем тут вложенный селект?
у меня есть толкьо две таблицы и мне надо было как-то опробовать EXISTS, единственное что придумала))

Shaz
03.10.2018
18:29:00
у меня есть толкьо две таблицы и мне надо было как-то опробовать EXISTS, единственное что придумала))
А где тут 2 таблица? И в чем проблема создать ещё таблиц если так надо?)

Dshk :)
03.10.2018
18:31:20
я про то, что этот запрос искусственный, просто чтобы понять как работает EXISTS, но как-то он не так работает как я думала, поэтому спросила в чём ошибка, что он не ограничивает вывод одним томатом по цене 14

Google
Shaz
03.10.2018
18:40:17
И зачем ты в pr отбираешь и name и price?

Dshk :)
03.10.2018
18:43:13
просто чтобы в результате выводить и name и price если убрать price, то ничего не поменяется и если убрать AND name = pr.name, тоже ничего не меняется)

Fike
03.10.2018
18:53:00
просто чтобы в результате выводить и name и price если убрать price, то ничего не поменяется и если убрать AND name = pr.name, тоже ничего не меняется)
Ты выбираешь внешним запросом все, у чего (тип = 1) и для чего (выполняется вложенное условие). Это все выполняется для обоих томатов.

Al
03.10.2018
19:14:35
но получается же что выбираю "для" томатов с ценой 14, разве нет?
Получается что лучше взять бд побольше из инета и с ней играть

Кирилл
03.10.2018
19:36:06
Упражнения по SQL http://www.sql-ex.ru/

Fike
03.10.2018
19:55:50
но получается же что выбираю "для" томатов с ценой 14, разве нет?
нет, ты выбираешь томаты, для которых существует одноименная запись с ценой 14

Gleb
03.10.2018
20:08:16
Получается что лучше взять бд побольше из инета и с ней играть
Зачем бд из интернета когда есть продакшен?

Dshk :)
03.10.2018
20:22:52
но цены то разные

нет, ты выбираешь томаты, для которых существует одноименная запись с ценой 14

Fike
03.10.2018
20:26:34
но цены то разные
окей, давай перефразирую: ты выбираешь все такие записи, для которых выполняется условие условие следующее: если взять название записи, то в таблице найдется запись с тем же названием и стоимостью в 14 не знаю чего не _та же самая запись_, а _запись, удовлетворяющая предикату названия и стоимости_

Fike
03.10.2018
21:18:55
Нет, у тебя там И. Название ты берешь из текущей записи, для которой выполняется предикат, а стоимость у тебя всегда одна и та же. Поэтому ты два раза проходишь по томатам, два раза подставляешь их, два раза получаешь предикат название=томат, стоимость=14

Fike
03.10.2018
21:54:00


Смотри, берем твой подзапрос EXISTS (SELECT name FROM Product WHERE price = 14 AND name = pr.name ) Как он будет выглядеть, когда будет обрабатываться строка с томатом и ценой 14? Как он будет выглядеть, когда будет обрабатываться строка с томатом и ценой 15?

Google
Dshk :)
03.10.2018
21:57:46
выведет строку с 14 и не выведет с 15 на сколько я понимаю, после проверки price = 14 томат с ценой 15 сразу отвалится и проверки name = pr.name уже и не будет

Fike
03.10.2018
21:58:20
давай не выведет-не выведет, а просто подставим значения и посмотрим, какой запрос получится

Dshk :)
03.10.2018
22:00:21
WHERE 14 = 14 AND томат = pr.name WHERE 15 = 14 AND томат = pr.name

ты про это?

или как туда подставить))

Fike
03.10.2018
22:00:58
Почти. На самом деле будет WHERE price = 14 AND name = 'томат'

Страница 674 из 718