|
|
|||||||||||
ADO, FireDAC Создание структуры для запроса26.04.2016, 15:41. Показов 1455. Ответов 5
Метки нет (Все метки)
Доброго!
Узнал что в FireDac (а скорее всего так же и в ADO) можно создавать структуры запроса, что ускоряет обмен данными,а так же позволяет работать с разными типами БД, не изменяя запроса. Типа было
0
|
|||||||||||
| 26.04.2016, 15:41 | |
|
Ответы с готовыми решениями:
5
Выполнение простого запроса PostgreSQL и FireDAC
Создание параметра ADO для хранимой проц |
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 26.04.2016, 16:05 | ||
|
В нормальных СУБД есть оптимизатор, который составляет план запроса. Если запрос работает медленнее, чем требуется, то можно попытаться изменить текст запроса. Это называется оптимизация запроса, но в общем случае штука непростая и всяко не решается какими-то скобочками. Там требуется изучение плана запроса, который строит оптимизатор, понимание принципов работы конкретной СУБД и проч. Это может влиять на скорость выполнения запроса, но не на обмен данными (передачу данных по сети). Ну и конечно на скорость выполнения запроса влияет структура БД, но это уже другая история.
1
|
||
|
|
|
| 26.04.2016, 16:22 [ТС] | |
|
Grossmeister, Спасибо за раскрытый ответ.
Под обменом данными я имел введу посылка самого запроса на сервер (Компонент TQuery его оптимизирует как то в независимо с какой БД работаем, он сам как надо сделает структуру запроса), а то есть : 1) К примеру есть запрос мего длинный, со всякими там джойнами и внутренними выборками, а TQuery, его оптимизирует и шлет на сервер 2) Другим плюсом является что в самом клиенте мы подставляем только сами переменные к уже готовому запросу, что уменьшает длину самого написания кода. 3) Главный плюс, что не важно с каким типом БД мы работаем, не надо подгонять запросы с MySQL к примеру на MSSQL,достаточно просто сменить провайдера,а TQuery сама уже преобразует запросы. Как пример могу привести Entity Framework. Добавлено через 3 минуты Хотел добавить, что как то встречал в Блоге разработчика FireDac, примеры данной реализации, с замерами. Но к сожалению не придал тогда этому значения, а сейчас даже и блога этого найти не могу.
0
|
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 26.04.2016, 17:03 | ||
Во-первых, в СУБД оптимизатор оптимизируют годами, если не десятилетиями. Т.е. это задача довольно сложная и отнюдь не для одного человека. И даже сейчас в том же Oracle оптимизатор порой ошибается.Во-вторых, если какой-то запрос выполняется быстро на одной СУБД, не факт, что он будет работать быстро на другой. Поэтому невозможно оптимизировать запрос для разных СУБД, для этого надо знать ее особенности, иногда внутреннюю кухню, которую знают только в фирме-вендоре. В-третьих, порой для оптимизации запроса надо иметь сведения о данных, насколько они распределены равномерно или нет. Для этого в СУБД существует сбор статистики по таблицам и индексам. И оптимизатор, составляя план запроса, использует эту статистику, т.е. сам выполняет запросы к БД (т.н. рекурсивные запросы).
1
|
||
|
|
|
| 26.04.2016, 17:13 [ТС] | |
|
Grossmeister, Oracle это ваще страшилки, дело не имел с ним, но заочно им уже запугали
![]() А по вопросу темы, в общем пока сам толком не знаю, типа "слышал звон....", но точно знаю что есть возможность хотя бы в простых запросах как то сделать универсальную форму, что бы хотя бы подходила и к MsSQL , так и для MySQl для FireDac .
0
|
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 26.04.2016, 17:17 | ||
|
0
|
||
| 26.04.2016, 17:17 | |
|
Помогаю со студенческими работами здесь
6
Слишком длинный текст для изменения в поле для запроса на создание таблицы
Создание SQL запроса для БД Создание запроса для поиска Создание сложного запроса для БД.. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|