|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Столкнулся со странной ( для меня ) проблемой. есть таблица, с ключевым счетчиком и числовым полем. в таблице 500 000 записей - в числовом поле или есть цифра от одного до десяти или ее нет. на всякий случай сделал индекс и в счетчике и в числовом поле код число 1 1 2 1 3 2 4 5 1 запросы делал в конструкторе. Код: sql 1.
делает пару секунд но если сделать так Код: sql 1.
делает мгновенно почему так происходит? если так выбирать - тоже мгновенно ищет Код: sql 1.
просто запрос на выборку должен быть с более сложным условием, но даже такой простой выполняется долго. от сюда возникает второй вопрос. такая выборка тоже происходит долго - несколько секунд. както можно ее оптимизировать чтобы ускорить? Код: sql 1.
Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 22:07 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar почему так происходит? что происходит? какой результат запроса ? (или всем нужно сделать табличку, ввести туда данные, сделать запрос, увидеть результат)... расшифруй обычными словами условие в WHERE (что ты там пытаешься фильтровать) Вот честно - впадлу собирать тренажер... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 04:50 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar ... такая выборка тоже происходит долго - несколько секунд. както можно ее оптимизировать чтобы ускорить? Код: sql 1.
Спасибо! Не знаю насчет "оптимизировать", но вижу, что эта конструкция сводится к такому выражению: Код: sql 1.
Что бы это ни значило. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 10:35 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar такая выборка тоже происходит долго - несколько секунд. както можно ее оптимизировать чтобы ускорить? Функция во WHERE - это фуллскан. У Access, видимо, недостаточно мозгов, чтобы расплести эту заумь и избавиться от константного IIF. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:40 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
vmag, разная скорость выполнения одного и того же запроса если фильтровать по -1 или по yes SELECT [число]=1 AS z FROM Таблица WHERE ((([число]=1)= -1 )); делает пару секунд но если сделать так SELECT [число]=1 AS z FROM Таблица WHERE ((([число]=1)= Yes )); выполняется мгновенно я запрос упростил то одного столбца с цифрами, по которому фильтруется и при котором появляется такой разброс во времени обработки. не знаю как еще его упростить чтобы тут на форуме поняли. результатом запроса буде ( относительно таблицы из поста) 1 1 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 13:57 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar Yes ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:32 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Панург, я вроде писал что делал запросы в конструкторе. и там он упешно писал ес ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:56 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar результатом запроса буде ( относительно таблицы из поста) 1 1 1 а зачем эти -1 и yes ? просто ([число]=1) не гламурно ? "Событие" же само по себе уже и так равно и Yes и -1 и True в случае если [число]=1 ибо это истина... Вам нужно типа этого: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:03 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar SELECT [число]=1 AS z ... результатом запроса буде ( относительно таблицы из поста) 1 1 1 Не будет. Будет -1 (минус единица). В этом запросе выводится результат логической операции сравнения - а это либо 0 (False), либо -1 (True). Так что же даст сравнение в данном конкретном случае? Конечно, только True, то есть, -1. Почему? А вот почему - в силу условия WHERE, которое требует, чтобы отбирались только те записи, где [число]=1. Вы, вероятно, немножко перемудрили с "упрощением" своего запроса. Лучше словами напишите, что в запросе должно выводиться, и при каких условиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:33 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
__Michelle, да - правильно -1. я потом уже заметил, не успел исправить. тут не важно что в итоге выводится, просто заметил что разная скорость если в условии -1 или true, при одном и том же запросе. и поэтому обрезал запрос по максимуму чтобы можно было легко отследить это разное время. основной вопрос - почему так получается. это чисто спортивный интерес, для общего развития. чтобы понять - это бак аксесса или чтото большее )) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 23:20 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
vmag Nezar результатом запроса буде ( относительно таблицы из поста) 1 1 1 а зачем эти -1 и yes ? просто ([число]=1) не гламурно ? "Событие" же само по себе уже и так равно и Yes и -1 и True в случае если [число]=1 ибо это истина... Вам нужно типа этого: Код: vbnet 1.
[число]=1 - гламурно, но как я уже написал - это чисто спортивный интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 23:24 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar - это чисто спортивный интерес. так иди дальше на рекорд, исследуй ситуацию, пиши рекламации... SELECT [число]=1 AS z FROM Таблица WHERE ((((((([число]=1)=Yes)=Yes)=Yes)=Yes)=Yes)); ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 00:56 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
vmag, это такой вариант ответа - когда нет ответа? может тогда не стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:57 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
А Вы почитайте справку про SELECT и "вкурите" что там должно быть только ИМЯ поля(если надо с алиасом,но никак не условие: число=1) а уж отбор в WHERE (и абсолютно фиолетово будет там TRUE или -1) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:18 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar, SELECT IIf(1=1,[число]=1,[число]=2) Улыбнуло IIF(<условие>, <выражение, если условие истинно>, <выражение, если условие не истинно>) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:29 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
ROI, Меня тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:32 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
sdku, а вы перечитайте вопрос внимательно и "вкурите" что "число" - это название поля. и как оказалось не фиолетово TRUE или -1 я привел реальные запросы из реальной таблицы с реально разной скоростью выполнения запроса. по моему чем проще пишеш запрос и чем подробнее описываешь проблему - тем сложнее она для понимания местных "гуру" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:40 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
ROI, и что же вас тут позабавило? не возможность выполнения такого условия? приведите лучше пример как сделать выборку с условием без такой конструкции. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:42 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar vmag, это такой вариант ответа - когда нет ответа? может тогда не стоит? А что, вам, не понравилось в ответе? Каой вопрос с примером, такой и ответ с примером ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:43 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
видео процесса ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:44 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar а вы перечитайте вопрос внимательно и "вкурите" что "число" - это название поля. да ну???? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:45 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
ROI, к сожалению я вижу только вашу не способность, в очередной раз, понять простой вопрос, и как следствие ваши посты как всегда ни о чем. троль? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:47 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
ROI Nezar а вы перечитайте вопрос внимательно и "вкурите" что "число" - это название поля. да ну???? И откуда SQL знает что число 1 это название поля. Пытается вас понять(вот и думает долго) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 13:49 |
|
Разная скорость выполнения запроса при похожем условии
|
|||
---|---|---|---|
#18+
Nezar ... приведите лучше пример как сделать выборку с условием без такой конструкции. Тогда, может, как-то так: Код: sql 1. 2. 3. 4.
На всякий случай (а то уже напридумывали): тут 1 - просто единица, никакое не название поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 14:27 |
|
|
start [/forum/topic.php?fid=45&msg=40118413&tid=1609527]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 287ms |
0 / 0 |