Интернет магазин китайских планшетных компьютеров



Компьютеры - Подсказка в SQL-запросе - Особенности подсказок РСУБД Microsoft SQL Server

23 января 2011


Оглавление:
1. Подсказка в SQL-запросе
2. Особенности подсказок РСУБД Microsoft SQL Server
3. Особенности подсказок РСУБД MySQL



Подсказки представляют собой расширение языка c собственными ключевыми словами.

Примеры

SELECT *
FROM Customers C WITH 
INNER LOOP JOIN Orders O ON O.CustomerID = C.CustomerID
WHERE C.City = 'Madrid'

в этом запросе для Microsoft SQL Server две подсказки:

  • LOOP — указывает, что соединять таблицы следует методом вложенных циклов
  • WITH — указывает, что для доступа к таблице Customers следует использовать индекс с названием City

Особенности подсказок РСУБД Oracle

В Oracle подсказки вставляются в текст запроса как комментарий. Текст комментария анализируется, и если обнаруживается, что это приемлемый хинт, он принимается. Благодаря такому синтаксису, запрос с подсказками может выполняться на другой СУБД без модификации, однако ответственность за оптимизацию плана в этом случае будет целиком лежать на СУБД. При таком подходе, опечатка в подсказке приводит к тому, что подсказка рассматривается сервером как простой комментарий.

Примеры

 SELECT  /*+ full */ t.name FROM tbl1 t WHERE t.DATE = SYSDATE
 SELECT  /*+ index */ t.name FROM tbl1 t WHERE t.DATE = SYSDATE

Здесь приведены подсказки:

  • /*+ full */ — указывает, что поиск нужно вести сканированием всей таблицы
  • /*+ index */ — указывает, что поиск нужно вести по конкретному индексу


Просмотров: 2289


<<< Курсор (базы данных)