Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: Недостатки MSSQL  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Oleg F

Полностью поддерживаю!

PS> еще не нравиться стратегия развития MS SQL'я - основной приоритет это большой объем хранимых данных а не функциональность самого сервера. Приведу пример - тот же ASA 9 имеет намного более развитый SQL - но не позиционируется Sybase как enterprise сервер - а вот для MS и SQL 6.5 - был конкурентом Oracle.
6 янв 04, 14:34    [482621]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
2Copyright

Может и меня предложите удалить? Вы случаем на MS не работаете?
6 янв 04, 14:35    [482624]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
2Berg
Можно еще так попробовать

SELECT HNUM, FNAME, CAST(SUBSTRING(FNAME, 1, 

CASE PATINDEX('%[^0-9]%', FNAME)
WHEN 0 THEN LEN(FNAME)
ELSE PATINDEX('%[^0-9]%', FNAME) - 1
END
) AS integer) AS SORT
FROM mmsXF.dbo.POLYGON P
INNER JOIN
(SELECT DETAIL_ID, FNAME, MAX(ABS(FRIGHT-FLEFT)) AS max_abs FROM mmsXF.dbo.POLYGON GROUP BY DETAIL_ID, FNAME) AS x
ON P.DETAIL_ID = X.DETAIL_ID AND P.FNAME = X.FNAME AND ABS(P.FRIGHT-P.FLEFT)=x.max_abs
WHERE DETAIL_ID = ISNULL(@detail_id, DETAIL_ID) AND FNAME <> ''
ORDER BY SORT, FNAME


На первый взгляд это выражение
CAST(SUBSTRING(FNAME, 1, 

CASE PATINDEX('%[^0-9]%', FNAME)
WHEN 0 THEN LEN(FNAME)
ELSE PATINDEX('%[^0-9]%', FNAME) - 1
END
) AS integer)


можно получить попроще
CAST(LEFT(FNAME, PATINDEX('%[^0-9]%', FNAME+'a')-1) as integer)
6 янв 04, 15:15    [482764]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Copyright
Member

Откуда: Volgograd=>Moscow=>Volgograd
Сообщений: 1049
FUNIKOVYURI
>Вы случаем на MS не работаете?

Уточняю не на, а под MS SQL работаю... ;-))

>Может и меня предложите удалить?

Не удалить, а Dropнуть.
Однозначно...
Вместе с OLEG_F

Картинка с другого сайта.
P.S У нас тут форум по МS SQL. Если не нравиться вам, то в другой форум пишите...
6 янв 04, 15:33    [482821]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
2Copyright

Ваша хата с краю - кого дропать вы пока не решаете...
6 янв 04, 15:35    [482826]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Crimean
Member

Откуда:
Сообщений: 13148
ИМХО вот это

CAST(SUBSTRING(FNAME, 1, 

CASE PATINDEX('%[^0-9]%', FNAME)
WHEN 0 THEN LEN(FNAME)
ELSE PATINDEX('%[^0-9]%', FNAME) - 1
END
) AS integer)


вообще лучше как UDF оформить. Тот редкий случай, когда пользы будет больше, чем вреда.
6 янв 04, 17:39    [483011]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Болванщик
Member

Откуда: Киев
Сообщений: 146
T-SQL, безусловно, слаб. В PL/SQL-е, и -- динамические массивы, и -- записи, и -- записи по образцу таблиц, и -- пакеты-шмакеты, и -- объекты-шмабъекты всякие... А главное -- человеческая обработка ошибок.

Обработка ошибок в T-SQL -- это просто клиника! После каждого 2-го оператора приходится проверять @@Error. И сколько уже лет это длится...
12 янв 04, 13:51    [487695]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Hermitap
Member

Откуда: Киев
Сообщений: 450
автор
Не бывает сложных запросов. Бывает желание написать поменьше кода. Ведь один select куда "приятнее" скрипта со временными таблицами например.




Золотые слова.

Был у меня такой программист. Любил запросы сложные писать.
Задолбался я его запросы править и разкладывать с использованием времянок.
Представьте запрос который выполняется 30 секунд. и давит SQL.
После раскладки, время выполнений 1 сек.

Уволил блин нафиг.



Картинка с другого сайта.
12 янв 04, 13:57    [487716]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Petr Chulkov
Member

Откуда: Донецк
Сообщений: 540
Кстати, о недостатках.. подскажите , как обойти такое ограничение (может в настройках mssql чего подкрутить ):

declare @t table(ind uniqueidentifier)

select count(distinct ind) from @t


и выдаётся сообщение

MS SQL Server
Server: Msg 409, Level 16, State 2, Line 3
The count-unique aggregate operation cannot take a uniqueidentifier data type as an argument.


ps: это не я придумал такой запрос... это примерно с таким запросом (тока к реальной таблице, а не к табличной переменной) в MS SQL лезет MS OLAP (при построении измерения parent-child) и соотв. обламывается...


Заранее благодарен,
Petr@Chulkov.NET
21 янв 04, 10:49    [500300]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
select count(distinct cast(ind as varbinary)) from @t
21 янв 04, 10:54    [500317]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Petr Chulkov
Member

Откуда: Донецк
Сообщений: 540
говорю же, что запрос делает MS OLAP сервер и поменять я его не могу (ну или просто не нашёл, как это сделать)... так что остаются только настройки MSSQL... :-(


С уважением, Petr@Chulkov.NET
Microsoft Certified Professional
Chulkov.Net - Trustworthy Knowledge
21 янв 04, 12:07    [500536]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
так что остаются только настройки MSSQL...

На основе таблицы делаете представление, в котором вместо ind будет cast(ind as varbinary)) ... дальше объяснять ?
21 янв 04, 12:09    [500546]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Gena G.
Member

Откуда: Oz
Сообщений: 977
А что у нас с ивентом на закрытие сессии с клиентом? Кажется была такая проблема? Есть решение?
21 янв 04, 12:54    [500667]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Crimean
Member

Откуда:
Сообщений: 13148
А что у нас с евентами по закрытию сессии?
Трасер не подойдет?
21 янв 04, 14:18    [500891]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Gena G.
Member

Откуда: Oz
Сообщений: 977
Ну как отловить что юзер отвалился а не просто ушел чай пить?
21 янв 04, 14:35    [500942]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
xz321
Guest
Я не понимаю почему всем так нравится иметь навороченый язык для хранимых процедур??? Гораздо проще писать все на 3GL Java/C++/C# что код приложения что хранимые процедуры. Java/C++/C# есть куча возмежностей по OOП, по проеделению структур, массиво и прочего.
29 янв 04, 20:58    [513565]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
2 Болванщик.

Человеческая обработка ошибок - это единственное, что есть полезного в Pl/SQL. А вот то, что ORACLE позволяет в таблицы писать массивы объекты и вложенные таблицы - это очень вредное свойство. Руки отрывать надо тем, кто массивы в полях таблицы держит! То, что ORACLE позволяет это делать, заставляет усомниться, понимают ли в ORACLE, что такое реляционная СУБД.
29 янв 04, 21:12    [513573]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Дык эта, может тада на жабе и сиквел свой написать, чего уж мелочиться?

Беда МС в том, что они хватают ото всех по чуть-чуть, но не сводят это все воедино. Поэтому пользоваться их фичами можно только в разрезе того, как они их прикрутили в целях соблазнения очередного корпоративщика. Шаг вправо / влево - растрел на месте с вывеской "by design".
При этом ор на каждом углу, что "оракл нам не конкурент". Оракл "нам", кстати, действительно, не конкурент :) Только не все понимают, почему :)
29 янв 04, 21:14    [513575]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
FAGIM
Member

Откуда:
Сообщений: 21
Про scope_identity()

Кроме @@identity есть еще IDENT_CURRENT('table_name') работает немногим медленнее, но зато надежно и не зависит ни от каких триггеров!
30 янв 04, 07:11    [513754]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
IDENT_CURRENT('table_name') работает немногим медленнее, но зато надежно и не зависит ни от каких триггеров!

Ага. Только вот значение можно получить не для той записи, которую добавил
30 янв 04, 09:26    [513846]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Болванщик
Member

Откуда: Киев
Сообщений: 146
www.fun4me.narod.ru
А вот то, что ORACLE позволяет в таблицы писать массивы объекты и вложенные таблицы - это очень вредное свойство.

Не пользуйся.

www.fun4me.narod.ru
Руки отрывать надо тем, кто массивы в полях таблицы держит!

Отрывай.

www.fun4me.narod.ru
То, что ORACLE позволяет это делать, заставляет усомниться, понимают ли в ORACLE, что такое реляционная СУБД.

Не заставляет. Они-то, как раз, понимают. Просто попсят для завлечения покупателей.

Если и считать эти возможности оракула недостатком, то это -- недостатки СУБД в целом. PL/SQL тут ни причём. Я ещё забыл упомянуть возможность написания подпрограмм в ХП, массивы из записей, наверное ещё что-то забыл... А парметры-массивы в ХП! Тут на форуме, периодически, раздаются народные стоны: "Как в T-SQL передать в ХП неизвестное заранее кол-во записей?" и следуют советы: преобразовывать в текстовую строку или пихать во временную таблицу (сам так делаю). А в PL/SQL -- легко и просто.

Есть, правда, в T-SQL одно заметное преимущество -- ХП может возвращать набор записей. В PL/SQL -- только курсор.
2 фев 04, 22:14    [517933]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Хех :) А с возвернутым набором записей что делать? :) В 90% случаев по ним тут же открывается курсор :)
3 фев 04, 11:39    [518359]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Barbar
Member

Откуда:
Сообщений: 4
Самым большим недостатком MS SQL Server является "супер умный оптимизатор". Точнее отсутствие возможности отключить "ум" и сделать так как написано. (по аналогии с SET FORCEPLAN ON в версии 6.5)
3 фев 04, 11:44    [518376]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
автор
(по аналогии с SET FORCEPLAN ON в версии 6.5)

А что, в 2000 SET FORCEPLAN уже отменили?
3 фев 04, 11:51    [518398]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки MSSQL  [new]
Barbar
Member

Откуда:
Сообщений: 4
2tpg
Отменить не отменили, но существенно обрезали.
Как правильно сказал Crimean
Беда МС в том, что они хватают ото всех по чуть-чуть, но не сводят это все воедино. Поэтому пользоваться их фичами можно только в разрезе того, как они их прикрутили
3 фев 04, 12:15    [518454]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить