Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Не менее убедительно, чем gardenman Так бы и давно -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:55 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygra автор2) Рекурсивных запросов -нетУже показали, что и без них нет проблем автор3) триггеров before/for each row нетБез них неплохо. автор4) SQUENCE - нетА зачем? автор5) timestamp - вообще непонятно чтоНу кому что и как :) автор6) тип данных DATE - отсутствует как класс (и TIME тоже) Ну есть datetime, ничего,хватает автор7) структурные типы - отсутствуют...А зачем? автор8) а где многоплатформенность?А не нужна автор9) а как на счет масштабируемости и кластеров?Вот это единственное, чего жаль что нет автора сравним PL/SQL с T-SQL? а попробуйте написать на ESQL/C++ ХП, так как это можно делать в DB2?Ничего, работаем авторИ вы хотите сравнивать это все с Оracle или DB2 ?... Мы не хотим, мы уже. И работаем однако. И хорошо работаем. И не выдумываем различных причин. И все неплохо получается. И насильно никому не навязываем - аллергию на MS пока не лечатСкипнуть нечего - рука не понимается, очень напоминает ответы людей, работающих с IB\FB, всем остальным ;) Разве что про аллергию нет - это специфика MS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:05 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygra автор3) триггеров before/for each row нет Без них неплохо. Хм. Тут в соседнем форуме ACSRUS высказался в том духе, что тривиальные манипуляции - типа "держать данные в поле заглавными буквами" - без них нормально не делаются. Прокомментируете? tygra автор4) SQUENCE - нет А зачем? Удобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID. tygra автор7) структурные типы - отсутствуют... А зачем? Удобно. По тем же причинам, по которым они удобны, например, в ЯВУ. tygra автор8) а где многоплатформенность? А не нужна Сложный вопрос. С точки зрения маркетинга это минус - достаточно много народу скажет "у нас уже есть платформа X, вот и будем покупать то, что с ней работает". Хотя понятно, что многоплатформенность в MSSQL если и будет, то на уровне "WinNT либо .NET". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:06 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :) Сам Юкон не видел, но на вскидку там будут: CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД ? Насколько помню: не будет триггеров BEFORE и EACH ROW, если что поправьте. Возникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ? Типа как в ASA (берем кусок BOL): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:08 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Фишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:12 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:17 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
авторХм. Тут в соседнем форуме ACSRUS высказался в том духе, что тривиальные манипуляции - типа "держать данные в поле заглавными буквами" - без них нормально не делаются. Прокомментируете? Дык есть другие триггеры. After insert, например. А по триггеру for each row я тоже горевал, когда давно еще с IB пришел. А ничего теперь, как-то привык да и нет больше нужды. :) авторУдобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID. Это как GUID может быть ответом на SQUENCE? Что-то не пойму. Выше кстати было сказано, что отличается SQUENCE от Identity на 95%. А Гуид вообще из другой песни. авторУдобно. По тем же причинам, по которым они удобны, например, в ЯВУ. Зато хуже разбираться с системой. авторСложный вопрос. С точки зрения маркетинга это минус - достаточно много народу скажет "у нас уже есть платформа X, вот и будем покупать то, что с ней работает". Хотя понятно, что многоплатформенность в MSSQL если и будет, то на уровне "WinNT либо .NET". Ну хозяин барин. Кто чего хочет, тот то и покупает. По мне так правильно, что нет кроссплатформенности. Продукты от одного производителя. Зачем лезть куда-то еще, если ты наоборот продвигаешь свою ОС? Это нехорошо как-то получилось бы :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:17 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
авторФишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД. Ну если вы определяете возможности СУБД по вашему списку опций, то для вас вывод правильный. Однако многие другие работают с MS SQL и чувствуют себя нормально, а некоторые даже и хорошо. Впрочем не лучше и не хуже, чем остальные. Если же вы что-то не можете сделать руками - только опции подавай - то тогда да, оставайтесь на Оракле. Если вы на нем, конечно. А для остальных аутсайдер весьма неплохо работает. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:22 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
ASCRUS авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :) Сам Юкон не видел, но на вскидку там будут: CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД ? Ага. Я просто заленился все это писать :) Возникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ? Второе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:24 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
ASCRUS авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :) Сам Юкон не видел, но на вскидку там будут: CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД?да, все это это будет. Одна из самых интересных, на мой взгляд, возможностей это версионность на уровне строк. ASCRUSНасколько помню: не будет триггеров BEFORE и EACH ROW, если что поправьте.вы абсолютно правы, этого пока не будет. ASCRUSВозникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ?С помощью .Net языков можно будет создавать SP, UDF, UDT, триггеры и пользовательские агрегаты. Посмотрите ссылку на презентацию, там вся реализация описана по шагам. gardenmanФишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД.MS идет своим путем, попутно беря все лучшее что есть у остальных СУБД на сегодняшний день. Посмотрите хотя бы на список компонент, которые будут представлять собой MS SQL 2005. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:24 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
>MS идет своим путем, попутно беря все лучшее что есть у остальных СУБД на сегодняшний день. Посмотрите хотя бы на список компонент, которые будут представлять собой MS SQL 2005. боюсь мы уже тут смотрели этот список и не нашли ничего чего бы небыло в oracle8i, а на дворе 2005 год ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:28 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
ну значит не туда смотрели. Возьмите хотя бы интеграцию с .Net Framework и как она оценивается даже теми людьми, документ которых вы приводили как весомое доказательство превосходства Oracle над MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:37 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
вы хотите сказать что попытка МС создать свою джаву удалась МС лучше чем оригиналу ? согласитесь спорно ... ;) еще есть преимущества переде 8i ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:47 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygraДык есть другие триггеры. After insert, например. А по триггеру for each row я тоже горевал, когда давно еще с IB пришел. А ничего теперь, как-то привык да и нет больше нужды. :) after-то есть - но ценой удвоения работы сервера. Плюс неочевидный момент рекурсии при таком обновлении. tygra авторУдобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID. Это как GUID может быть ответом на SQUENCE? Что-то не пойму. Выше кстати было сказано, что отличается SQUENCE от Identity на 95%. А Гуид вообще из другой песни. Хм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали. Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity. tygra авторУдобно. По тем же причинам, по которым они удобны, например, в ЯВУ. Зато хуже разбираться с системой. Не понял смысла этой фразы. Хм. Допустим, в бейсике не было почти ничего - и поэтому для описания объекта с тремя атрибутами приходилось завести переменные A, B$ и B1$ (имена тоже допускались - буква или буква-цифра). Потом стало возможно таки писать record, struct или аналогичные конструкции. Стало хуже разбираться с системой? Не понял. Поясните, пожалуйста, может быть на примере - что Вы имеете в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:49 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
2 Yo!: хм.. как-то вы с темы на тему перескакиваете. По поводу того документа и оценки в нем интеграции .Net и MS SQL вы согласны или нет? Если да, то вопрос решен, если нет, это означает что вы не со всем в нем согласны, тогда зачем вы его вообще советовали смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:58 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
авторХм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали. Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity. Ну секвенс то аналог identity вообще-то. А гуид - это просто другой тип данных. Какая связь? Ну а репликация - а как тут секвенс связан с ней? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:01 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygra авторХм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали. Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity. Ну секвенс то аналог identity вообще-то. А гуид - это просто другой тип данных. Какая связь? Ну а репликация - а как тут секвенс связан с ней? -- Tygra's -- Гм, возможно аналогу секвенса в ASA служит Global Autoincrement - который ведется непрерывно для всей БД, но в пределах, заданных в опции "Database ID". В итоге все работают каждый в пределах своего промежутка значений, в консолидированной БД не возникает конфликтов PK, однако в самой консолидированной БД счетчик под ее DataBase id не сбивается при подливе данных с других СУБД и все вставляемые записи опять же работают в собственном промежутке, таким образом избегая обратных конфликтов. Все это работает автоматом, единственное где могут быть траблы при репликации - это при сбивании кода БД или же ввода одинаковых, однако это уже на совести проектировщика. Конечно самое надежное конечно это GUID - тут вообще никаких конфликтов быть просто не может, хотя если сравнивать bigint и GUID - немного разные размеры типов данных получаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:13 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
авторхм.. как-то вы с темы на тему перескакиваете. По поводу того документа и оценки в нем интеграции .Net и MS SQL вы согласны или нет? Если да, то вопрос решен, если нет, это означает что вы не со всем в нем согласны, тогда зачем вы его вообще советовали смотреть? советовал смотреть чтоб вы вообще представляли в чем есть отличия, этот документ наиболее полно их перечисляет, а со мнением естественно я согласен не со всем. например про .net и java я не согласен - мне все равно через врапер или нет запускается моя java, главное чтоб потери в скорости небыло. когда появятся тесты тогда и можно поговорить о преимуществах прямого запуска, а так это просто слова (если не углублятся в сами языки и их конструкции). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:27 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygraНу секвенс то аналог identity вообще-то. identity - это частный случай применения sequence. В общем случае, использование монотонных последовательностей не ограничивается unique-столбцами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:27 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
tygraНу секвенс то аналог identity вообще-то. А можно поподробнее? Насколько я видел, identity - это атрибут поля, а секвенсор - это объект. То есть если мне нужно обеспечить сквозную нумерацию по нескольким таблицам, секвенсор легко решает эту задачу, а с identity придется извращаться (делать отдельную таблицу, на которую ссылаться?!). tygraА гуид - это просто другой тип данных. Какая связь? Ну а репликация - а как тут секвенс связан с ней? Хм. Связь следующая: насколько я понимаю, в MSSQL поставить default SYS_GUID (или нечто аналогичное - миль пардон за синтаксис) - это наиболее простой путь обеспечить нормальную репликацию. Другой путь - здесь, на sql.ru, лежит статья http://www.sql.ru/articles/mssql/03100902ArchitectingReplicationWithIdentityColumns.shtml, из которой получается, что MSSQL2000 таки дает какую-то особую опцию для управления диапазонами, в результате чего можно построить репликацию на основе identity и довольно кривой схемы распределения номеров. Осталось сравнить это с Код: plaintext И - никаких вопросов. Собственно, меня несколько удивляет, почему в MSSQL нельзя сделать такого же - но, полагаю, у автора статьи, размещенной на столь компетентном сервере, были какие-то причины :) Ну и так все-таки - насчет "хуже разбираться" поясните? А то как-то странно получается - уже второй раз в этой теме я говорю что-то, а Вы замолкаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:34 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Start value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу. Вот когда нужно одно ID на несколько таблиц сразу автоинкрементить - это и есть те самые 5% (о которых я говорил в другом топике), где identity проигрывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:37 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
А вообще прискорбно, что все это вылилось в очередную религиозную войну. "Нет, не об этом он мечтал всю свою сознательную жизнь" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:40 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Блин... чтобы узнать Identity-значение нужно обядательно вставить строку в таблицу. (сделать транзакцию) Последнее значение возвратится в @@identity. Чтобы получить значение из последовательности - нужно сделать запрос, который находится все транзакции. Разница - ОГРОМНА! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:45 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Alex.CzechStart value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу. Я - со своей ламерской колокольни - тоже не вижу и удивляюсь. Но предположительно солидный автор на уважаемом сервере зачем-то предлагает куда более сложную и неудобную схему. Вы готовы поручиться своей репутацией, что это только из-за того, что он нерюх и идиот? Напишите Джуджу, что эту статью стоит выбросить и не позориться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:48 |
|
||
|
О временных таблицах замолвите слово...
|
|||
|---|---|---|---|
|
#18+
Alex.CzechStart value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу. Вот когда нужно одно ID на несколько таблиц сразу автоинкрементить - это и есть те самые 5% (о которых я говорил в другом топике), где identity проигрывает Ради интереса - настраиваться то понятно настраивается. А вот не сбивается ли, если с других БД приходят записи с заведомо более высоким диапазоном номеров ? То есть работает у нас Identity в пределах 1-100 и равен 2, приходит с другой БД запись 101. Какой следующий номер будет присвоен при вставке новой записи в этой таблице ? По идее он должен равняться 3-ем. авторА вообще прискорбно, что все это вылилось в очередную религиозную войну. "Нет, не об этом он мечтал всю свою сознательную жизнь" Да нет - даже ссылочки интересные по Юкону привели, с удовольствием почитал, как там и чего будет выглядеть в целях самообразования. Есть правда один неутешительный вывод - формула "ПО от MS = Геммор" к сожалению продолжает успешно работать и они где нибудь, да обязательно сделают пару недоработок/ошибок, которые потом придется дружно обходить. авторБлин... чтобы узнать Identity-значение нужно обядательно вставить строку в таблицу. (сделать транзакцию) Последнее значение возвратится в @@identity. Чтобы получить значение из последовательности - нужно сделать запрос, который находится все транзакции. Разница - ОГРОМНА! Давненько Вы с MSSQL не работали :) Уже давно есть куча функций, которая позволяет вне транзакции без вставки записи узнавать для указанных таблиц текущий и следующий Increment. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32846284&tid=1553899]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 407ms |

| 0 / 0 |
