Поиск подробной информации в большой базе данных иногда может быть сложной задачей.

К счастью, благодаря ColdFusion ваши поиски и данные становятся проще простого с помощью Query of Queries! Использование этой замечательной функции обязательно облегчит работу любого ИТ-директора или руководителя проекта.

В этой статье вы узнаете:

  1. Что такое запрос запросов?
  2. Каковы преимущества использования запроса запросов?
  3. Как провести запрос запросов.
  4. Каковы некоторые функции ColdFusion Query of Queries?

Давайте погрузимся прямо в!

Что такое запрос запросов?

Запрос запросов — это уникальная функция сама по себе, потому что вы не можете иметь ее без… ну, запросов. Видите ли, после того как вы создали набор записей с тегом или функцией (например, cfquery), данные можно вызвать. Его можно вызвать отдельно или как часть зависимого запроса. Этот отзыв известен как запрос запросов. Любой запрос, извлекающий данные из набора записей, является запросом запросов. Он также может быть известен как запрос памяти, поскольку наборы записей могут быть сформированы другими способами, кроме тега cfquery.

ColdFusion QoQ можно использовать и для других запросов. Например, вы также можете запросить объект базы данных, не являющийся запросом. Это очень удобная функция, которая имеет много преимуществ.

Преимущества ColdFusion Query of Queries

Давайте рассмотрим несколько преимуществ ColdFusion QoQ. 1. Удобный вызов таблицы

Бывают случаи, когда вам нужно снова и снова вызывать одни и те же таблицы. И чем больше стол, тем больше он может раздражать. Но ColdFusion QoQ упрощает задачу, поскольку данные уже находятся в наборе записей. QoQ идеально подходит для таблиц от 5000 до 50000 строк. Единственным ограничением является объем памяти хост-компьютера ColdFusion.

Использование QoQ позволяет выполнять операции объединения и объединения результатов из совершенно разных баз данных. Это определенно может пригодиться. Например, вы можете использовать операцию объединения для запросов из отдельных баз данных, чтобы исключить дубликаты из списка адресов электронной почты клиентов.

Это особенно полезно для ИТ-директоров и руководителей групп. После выполнения запроса к базе данных только один раз ваши результаты можно использовать для создания множества различных таблиц. Это удобно для создания сводных таблиц для зарплат сотрудников, инфографики или доступности. Просто сделайте один запрос к базе данных сотрудников и используйте полученные результаты для создания трех отдельных таблиц всего за один запрос.

Было бы неплохо иметь детальную информацию о вещах без доступа к базе данных? Вы можете с помощью QoQ. Например, вы можете запросить информацию о сотрудниках с помощью QoQ, а затем кэшировать ее. После этого создайте таблицу или раскрывающийся список имен сотрудников.

Таким образом, когда пользователи выбирают определенное имя сотрудника, ваше приложение получает доступ к кэшированным данным, требующим обращения к базе данных.

Подотчеты — это отличный способ вложить отчет в другие отчеты. Это может стать очень удобным способом размещения дополнительной информации в вашей основной презентации. Вложенные отчеты отлично подходят, если вы хотите избежать использования сложного SQL или если для вашего отчета требуются данные из нескольких источников данных. QoQ помогает вам создавать эти вложенные отчеты и оптимизировать ваши отчеты.

Как успешно выполнить запрос запросов ColdFusion

Когда дело доходит до проведения ColdFusion QoQ, это довольно простой процесс. Просто выполните следующие четыре простых шага:

  1. Создайте набор записей с помощью основного запроса. Основные запросы могут генерироваться с помощью тегов или функций, создающих наборы записей.
  2. Составьте подробный запрос. Это будет тег cfquery, указывающий dbtype= «query»
  3. Напишите оператор SQL, который извлекает применимую информацию. На этом этапе указывать источник данных не требуется. Однако укажите имена одного или нескольких существующих в настоящее время запросов в качестве имен таблиц в коде SQL.
  4. Содержимое вашей базы данных должно быстро меняться. Но если это не так, манипулируйте атрибутом cachedwithin вашего основного запроса, чтобы кэшировать запросы между запросами страниц. Используйте функцию CreateTimeSpan (в формате дней, часов, минут, секунд), чтобы указать значение. Это позволит вашему ColdFusion получить доступ к базе данных по первому запросу. База данных будет снова запрашиваться только после истечения установленного времени.

Adobe предоставляет отличный пример для создания и использования этих результатов.

‹h1›Список сотрудников‹/h1›

‹cfquery datasource="cfdocexamples" name="master"

cachedwithin=#CreateTimeSpan(0,1,0,0)#›

ВЫБЕРИТЕ * от сотрудника

ВЫБЕРИТЕ Emp_ID, Имя, Фамилия

ОТ мастера

ГДЕ LastName=‹cfqueryparam value=”#LastNameSearch#”

cfsqltype="cf_sql_char" maxLength="20"›‹/cfquery›

‹p›Вывод с использованием запроса запроса:‹/p›

#Emp_ID#: #Имя# #Фамилия#‹br›

‹p›Столбцы в основном запросе:‹/p›

#master.columnlist#‹br›

‹p›Столбцы в подробном запросе:‹/p›

#detail.columnlist#‹br›

Запрос объекта запроса, не относящегося к базе данных

Одна из лучших особенностей QoQ заключается в том, что вы можете запрашивать объект запроса, не относящийся к базе данных. Примером этого является извлечение результатов листинга каталога ‹cfftp›.

Функциональные возможности ColdFusion Query of Queries

ColdFusion QoQ имеет множество функций, и их отношение к QoQ следующее:

ACF и Lucee QoQ очень похожи, но есть несколько различий из-за механизмов SQL, используемых в каждом механизме CFML. Эти различия в большей степени проявляются в сложных операторах SQL, таких как группирующие функции. Простое переписывание кода SQL должно устранить большинство сложностей с Lucee QoQ.

Query of Queries от ColdFusion — замечательный инструмент, который делает вашу жизнь CF чертовски более удобной. Он оптимизирует ваши процессы и создает элегантные выходные данные, которые вы и ваша компания можете легко использовать.

Когда вы обнаружили, что запрос запросов наиболее полезен? Для каких практических целей вы его используете?

Дайте нам знать в комментариях ниже. И… Если вам нравится то, что вы читаете, вы всегда можете подписаться на нас в Твиттере @CFTeraTech и не пропустить обновление.

А чтобы продолжить изучение того, как сделать ваши приложения ColdFusion более современными и живыми, я рекомендую вам загрузить наш бесплатный контрольный список лучших практик ColdFusion Alive.

Потому что… возможно, вы несете ответственность за критически важное или приносящее доход приложение CF, которому вы не доверяете на 100 %, где внедрение новых функций является болезненным ситуативным процессом с медленным выполнением даже для простых запросов.

Что делать, если у вас нет плана действий на случай внезапного ухода разработчиков или отключения сервера? Возможно, каждый раз, когда на вашем сайте работает новый фрилансер, что-то ломается. Или доступность, безопасность и надежность вашего приложения плохие.

И если вы зависите от ColdFusion для своей работы, то вы не можете позволить своим методам разработки CF умереть на корню.

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

Достаточно, чтобы ваш коллега-разработчик CF уволился или ваш ИТ-директор решил покинуть (ошибочно) воспринимаемый тонущий корабль CFML, и вы можете потерять все — свой проект, с трудом завоеванные навыки CF и, возможно, даже свою работу. .

К счастью, есть ряд простых и логичных шагов, которые вы можете предпринять прямо сейчас, чтобы защитить себя от этих очевидных рисков.

Простые передовые методы работы с ColdFusion, которые помогут вам добиться успеха, что бы ни случилось дальше

Контрольный список лучших практик ColdFusion Alive

Современные передовые методы разработки ColdFusion, которые снижают стресс, неэффективность, затраты на жизненный цикл проекта, одновременно увеличивая скорость проекта и инновации.

Легко создавайте согласованную серверную архитектуру для разработки, тестирования и производства.

Современная тестовая среда для предотвращения распространения ошибок.

√ Автоматизированные инструменты непрерывной интеграции, которые хорошо работают с CF

Переносимая среда разработки, встроенная в вашу кодовую базу… бесплатно!

Узнайте об этих и многих других стратегиях из нашего бесплатного Контрольного списка лучших практик ColdFusion Alive.

Первоначально опубликовано на https://teratech.com 19 июня 2019 г.