Использование TSQL впервые некоторые основные инструкции - PullRequest
0 голосов
/ 31 августа 2011

Я пишу приложение, которое будет использовать много таблиц, и мне сказали, что в приложении используются хранимые процедуры. это не путь, что это слишком медленно. Было предложено использовать TSQL. До сих пор я использовал только хранимые процедуры. чем отличается TSQL от других, как мне ускориться. На самом деле, это способ быстрого доступа к данным или есть другие методы?

Ответы [ 3 ]

1 голос
/ 31 августа 2011

TSQL - это диалект SQL от Microsoft и Sybase, поэтому ваши хранимые процедуры пишутся на TSQL, если вы используете SQLServer.
В большинстве случаев правильно написанные хранимые процедуры превосходят запросы adhoc.С другой стороны, процедуры кодирования требуют больше навыков, а отладка - довольно утомительный процесс.Очень трудно давать советы, не видя ваших процедур, но есть некоторые общие вещи, которые замедляют SP.

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

Другая вещь, которая препятствует созданию оптимального плана, - это использование условий в теле SP.Например,

IF (something)
BEGIN
  SELECT ... FROM table1 
  INNER JOIN table2 ...
  .....
END
ELSE 
BEGIN
   SELECT ... FROM table2 
  INNER JOIN table3 ...
  .....
END

следует изменить на

IF (something)
 EXEC proc1; // create a new SP and move code from IF there
ELSE
 EXEC proc2; // create a new SP and move code from ELSE there
0 голосов
/ 31 августа 2011

Хранимые процедуры написаны с использованием T-SQL, поэтому немного странно, что кто-то сделал бы такое заявление.

Даниэль прав, ORM - хороший вариант. Если вы выполняете какие-либо операции с большими объемами данных (например, анализ содержимого), я бы в первую очередь посмотрел на базу данных. Возможно, вы захотите почитать SP, поскольку скорость - это еще не все ... есть и другие преимущества. Это был один удар от Google, но вы можете сделать больше исследований самостоятельно:

http://msdn.microsoft.com/en-us/library/ms973918.aspx

0 голосов
/ 31 августа 2011

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

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

Если ваша система использует объектно-реляционное сопоставление (ORM), тогда SP, вероятно, встанет у вас на пути, но тогда вы на самом деле не будете использовать T-SQL - это будет сделано для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...