|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Serg Vasiltsoff 2:5020/400 02 Apr 2001 18:26:22 To : All Subject : Re: Дремина хитрость 2 -------------------------------------------------------------------------------- Уважаемый "Ilya Zvyagin", может Вы начнете все-таки читать письма (кроме своих) немного внимательнее? ********************************** Мой оригинальный постинг: ********************************** > >Хорошо. Для обеспечения работы моей логической структуры мне требуется > >уникальный ключ для всех таблиц... Как мне его обеспечить кроме как вот > таким > >способом? Если делать identity для каждой таблицы, то ключ будет повторятся > >во всем множестве первичных ключей всех таблиц, а мне нужно по ключу > однозначно > >определить принадлежность ПК к какой-либо таблице. Это нужно для внешних > ссылок > > Можно сделать IDENTITY в одной главной таблице. IMHO очевидное решение. Да, и получить то, из-за чего и разгорелся спор - узкое место. GIUD - более правильное решение или комбинация Id таблицы + Id объекта в ней. Хоть через тире. Чем не "сплошной идентификатор"? Хотя, даже для 6.5 такое решение с IRL будет работать достаточно хорошо. ********************************** Ваш ответ на него: ********************************** > IDENTITY само по себе ничего не лочит. Как вставлять в саму таблицу - это > другой > вопрос. Во-первых, вставлять как я понимаю , все равно HАДО. Во-вторых, > есть ( даже в MSSQL 6.5 ) row-level locking на INSERT. ********************************** Под понятием "узкое место" я подразумевал именно вставку в одну таблицу, логичнее было бы Вам не ссылаться на IRL, а пояснить, каким это "другим вопросом" вы собираетесь вставлять без блокировок? В общем случае или есть варианты? Вставлять в моем варианте ничего никуда не надо - достаточно присвоить каждой таблице свой идентификатор, автоматически комбинация "идентификатор таблицы + идентификатор записи" дадут уникальность в пределах системы. Есть у Вас какие-то комментарии по _этому_ предложению, то есть по сути _моего_ постинга? P.S.Если Вы не читали документацию на MS SQL 6.5, то напоминаю, что под термином IRL там как раз скрывается Insert Row Locking (see sp_tableoption). И оговорок по его использованию достаточное количество есть для 6.5 --- ifmail v.2.15dev5 * Origin: Lime Systems (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/12005f4deab71.html, оценка из 5, голосов 10
|