powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Будет ли быстрей запрос обработать, средствами движка?
18 сообщений из 18, страница 1 из 1
Будет ли быстрей запрос обработать, средствами движка?
    #37083481
NikolaNetesla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как быстрей обработается запрос когда сервер будет выдавать по одному параметру или когда результатом будет таблица и обработка возлагается на другую программу. т.е.


Вариант №1
SELECT "fio" FROM "table" WHERE "inn" = 2222, or "inn" = 3333, or "inn" = 4444, or "inn" = 5555 ...

Вариант №2
SELECT "fio" FROM "table"
запустить программу которая отображает график, но фильтровать результат


размер таблицы 2х1000строк



затем предпологается вывести график, показать таблицу или её часть.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37083550
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае трудно сказать, что будет быстрее. Думаю, что 2-й вариант.
Что мешает попробовать оба ?
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37083591
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolaNetesla,

Если поля по которым идет отбор в п.1 проиндекированы и объем таблицы большой то п.1 будет быстрее.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37083814
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 28.01.2011 10:00, NikolaNetesla wrote:

> Как быстрей обработается запрос когда сервер будет выдавать по одному параметру
> или когда результатом будет таблица и обработка возлагается на другую программу.
> т.е.

Немножко знаешь ли от размера таблицы зависит.
Если такая очевидная мысль тебе в голову не пришла,
можешь её подумать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37083833
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolaNetesla,

и зависит от СУБД.
Какая-то СУБД догадается преобразовать запрос через UNION ALL и использовать индекс, а какая-то - нет.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37083987
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolaNetesla,

Ага, а если мильон записей - вы их все перегоните клиенту у там будите фильтровать? Не стоит ИМХО сие делать.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37084196
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edkonst2008Ага, а если мильон записей - вы их все перегоните клиенту у там будите фильтровать?
Угу. Сам видел как одним людям перегоняли кучу мусора в эксель. В итоге файл экселя весил под 10 метров. Говорить о том как классно им было в этом экселе ворочаться даже небуду - думаю и так все понятно.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37084783
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edkonst2008NikolaNetesla, Ага, а если мильон записей ...не читатель? NikolaNeteslaразмер таблицы 2х1000строк
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37084888
NikolaNetesla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного колебаюсь ещё перед выбором, но наверное попробую оба способа.

Еще вопрос разрешите? Любой из способов будет гораздо эффективнее чем (простите) "дрочить" сервер одиночными запросами? Или без разницы?
т.е.

SELECT "fio" FROM "table" WHERE "inn" = 2222
обработал

SELECT "fio" FROM "table" WHERE "inn" = 3333
обработал

SELECT "fio" FROM "table" WHERE "inn" = 4444
обработал

SELECT "fio" FROM "table" WHERE "inn" = 5555
обработал

SELECT "fio" FROM "table" WHERE "inn" = 6666
обработал

SELECT "fio" FROM "table" WHERE "inn" = 7777
обработал
....
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37087319
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 28.01.2011 16:45, NikolaNetesla wrote:

> Еще вопрос разрешите? Любой из способов будет гораздо эффективнее чем (простите)
> "дрочить" сервер одиночными запросами? Или без разницы?

СУБД, таблицы, их размер, индексы. После этого о чём-то можно говорить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37087527
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT "fio" FROM "table" WHERE "inn" IN ( 2222 , 3333 , 4444 , 5555  ...) ORDER BY "inn"
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37088863
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolaNeteslaНемного колебаюсь ещё перед выбором, но наверное попробую оба способа.

Еще вопрос разрешите? Любой из способов будет гораздо эффективнее чем (простите) "дрочить" сервер одиночными запросами? Или без разницы?


В общем случае одно сложное задание (SQL запрос) можно выполнить быстрее и эффективнее, чем кучу простых заданий с тем же результатом. Выполняя сложный SQL запрос СУБД может оптимизировать работу, выбрать способ лучше, чем декомпозиция на простые задания, кроме того на выполнение любого запроса требуются некоторые накладные расходы - меньше запросов - меньше расходов.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37089804
maximand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я дилетант, но только что переделал кусок кода в программе mmex где сделал один "сложный" sql запрос вместо двух простых аля select a,b,c from table c последующей обработкой, сортировкой, куча циклов, сравнений и т.п.
Преимущества:
1. sql код готовится в девелопере, где оптимизируется и измеряется его скорость.
2. Такой код проще понять и проверить.
3. Програмный код (в моём случае жто C++) становиться проще (уверен быстрее и компактнее)
4. sql возвращает меньшее кол-во строк, соответсвенно меньше буферов задействовано (Можно и поспорть, но буферы внутри sql движка проверены временем).
5. Надо помнить про масштабирование, сегодня 2000 строк завтра 100000 и т.д.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37092319
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 31.01.2011 16:43, mcureenab wrote:

> В общем случае одно сложное задание (SQL запрос) можно выполнить быстрее и
> эффективнее, чем кучу простых заданий с тем же результатом.

Далеко не всегда.

Выполняя сложный SQL
> запрос СУБД может оптимизировать работу,

Именно потому, что МОЖЕТ оптимизировать, а МОЖЕТ И НЕ оптимизировать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37092771
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

поменяйте СУБД, на ту которая может чаще, чем не может.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37094367
Фотография PEAKTOP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolaNeteslaКак быстрей обработается запрос когда сервер будет выдавать по одному параметру или когда результатом будет таблица и обработка возлагается на другую программу. т.е. ....... затем предпологается вывести график, показать таблицу или её часть.

Синтаксис СУБД соответствующих SQL92
Код: plaintext
1.
2.
3.
SELECT "fio" 
FROM   "table" 
WHERE ('~2222~3333~4444~5555~6666~....~nnnn~' CONTAINING '~'||"inn"||'~')


Синтаксис СУБД несоответствующих SQL92 (например, MySQL)
Код: plaintext
1.
2.
3.
SELECT "fio" 
FROM   "table" 
WHERE ( CONCAT('~','2222~','3333~','4444~','5555~','6666~',....'nnnn~') CONTAINING CONCAT('~',"inn",'~') )
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37095285
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PEAKTOP,

а что это за CONTAINING ?
Насколько я знаю, его нет ни в Оракле, ни в MySQL.

И, кстати, MySQL может выполнять конкатенацию строк оператором ||.
...
Рейтинг: 0 / 0
Будет ли быстрей запрос обработать, средствами движка?
    #37101565
NikolaNetesla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>miksoft,а что это за CONTAINING ?
>Насколько я знаю, его нет ни в Оракле, ни в MySQL.
Postgresql, тоже с ними. А ведь как красиво выглядело бы...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Будет ли быстрей запрос обработать, средствами движка?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]