Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
Работаю с MS SQL Server 2000

Оптимизировал однажды одну штуку. Столкнулся с тем что update одной записи выполняется 15мс. Это очень долго. Специфика была такова, что обновлялось много записей, большая часть которых не менялась, но заранее я не мог знать какие именно записи поменялись. Это дело с легкостью оптимизировалось написанием хранимой процедуры, которая сперва доставала запись и БД, сравнивала и только потом обновляла. Можно было триггер написать. В результате необходимость в фиксации транзакции в большинстве случаев отпала, т.к. записи не было, и скорость работы в среднем возросла в 20 раз.

Внимание вопрос! Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?
26 дек 07, 08:43    [5096788]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472

>которая сперва доставала запись и БД, сравнивала и только потом обновляла
открой для себя то что в update можно написать WHERE

Posted via ActualForum NNTP Server 1.4

26 дек 07, 09:08    [5096834]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Оптимизировал однажды одну штуку. Столкнулся с тем что update одной записи выполняется 15мс.


А можно увидеть эту "одну" штуку? И чем выполнялись замеры?!

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


ТАк что же все-таки происходило на самом деле? Кривонаписанный код с курсором?

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


Какое "это дело"? Кривой код? Доставала из бд и сравновала с чем? Почему надо было обрабатывать по-одной записи, а не обновить все подпадающие под условия обновления?

автор
В результате необходимость в фиксации транзакции в большинстве случаев отпала, т.к. записи не было, и скорость работы в среднем возросла в 20 раз.


Эээ... Позаписное обновление и для каждой записи отдельная транзакция?

автор
Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?


Какая? Вы имеете ввиду, что СУБД ничего не должна сделать, при отправке ей инструкции вида:

UPDATE
  SomeTable
SET
  SomeField = SomeField

???
26 дек 07, 09:13    [5096839]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
ScareCrow

>которая сперва доставала запись и БД, сравнивала и только потом обновляла
открой для себя то что в update можно написать WHERE

Точно! Блин... Ну все равно ж надо where писать
26 дек 07, 09:35    [5096923]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Самоловских Виталий aka Kefir
Ну все равно ж надо where писать


А то?! А иногда и JOIN несколько раз во FROMе, а еще derived tables и прочую всякую всячину, относящууюся к программированию на T-SQL.
26 дек 07, 09:39    [5096942]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin
автор
Оптимизировал однажды одну штуку. Столкнулся с тем что update одной записи выполняется 15мс.

А можно увидеть эту "одну" штуку? И чем выполнялись замеры?!

Увидеть нет. Все не так просто на самом деле.
Замеры выполнялись профайлером. И показаниями системного таймера уже непосредственно в приложении.

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

ТАк что же все-таки происходило на самом деле? Кривонаписанный код с курсором?

Какой курсор? Примерно так. Пользователь выгружает некий справочник, в моем случае в Excel. Но это не важно, с тем же успехом могли быть dbf и т.п.. Правит его у себя и загружает обратно. Зачем его целиком таскать мне самому непонятно.


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

Какое "это дело"? Кривой код? Доставала из бд и сравновала с чем? Почему надо было обрабатывать по-одной записи, а не обновить все подпадающие под условия обновления?

Мне данные снаружи приходят.

автор
В результате необходимость в фиксации транзакции в большинстве случаев отпала, т.к. записи не было, и скорость работы в среднем возросла в 20 раз.

Эээ... Позаписное обновление и для каждой записи отдельная транзакция?

Batch-режим - это отдельный разговор. Меня интересует уже чисто теоретический момент. Ну ладно когда от одного пользователя пришли данные, я их могу скопом запихать, а вот если у меня много пользователей.

автор
Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?


Какая? Вы имеете ввиду, что СУБД ничего не должна сделать, при отправке ей инструкции вида:

UPDATE
  SomeTable
SET
  SomeField = SomeField

???

Если фактически данные не изменяются, то СУБД не должна их обновлять.

Поймите правильно. Сейчас все работает нормально. Проблем у меня нет. Меня волнует один единственный вопрос, почему, если данные не изменились, СУБД все равно их обновляет и фиксирует транзакцию. Не легче ли их просто оставить как есть? Или здесь какой-то тайный смысл?
26 дек 07, 09:55    [5097044]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin
Самоловских Виталий aka Kefir
Ну все равно ж надо where писать

А то?! А иногда и JOIN несколько раз во FROMе, а еще derived tables и прочую всякую всячину, относящууюся к программированию на T-SQL.


Тупо: есть таблица mytable с полями
ind id
varchar name

В ней запись:
1 ляляля

Делаем так

update mytable
set name='ляляля'
where id=1

выполняется 15 мс и ничего при этом не меняет.

update mytable
set name='ляляля'
where id=1 and name<>'ляляля'

выполняется быстро и ничего при этом не меняет.

Вот это меня и напрягает. Почему я должен писать дополнительное условие, добавлять параметр к запросу, почему это не реализовано на уровне СУБД?
26 дек 07, 10:01    [5097075]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Замеры выполнялись профайлером.


Профайлер в 2000 выдает саттистику с точность в половину точности типа данных datetime - около 16 миллисекунд. Так что все Ваши измерения "приблизительно потолочные".

автор
И показаниями системного таймера уже непосредственно в приложении.


Как в приложении системным таймером можно измерить время выполнения запроса на сервере?!

автор
Примерно так. Пользователь выгружает некий справочник, в моем случае в Excel. Но это не важно, с тем же успехом могли быть dbf и т.п.. Правит его у себя и загружает обратно. Зачем его целиком таскать мне самому непонятно.


Абалдеть архитектурка...

автор
Batch-режим - это отдельный разговор. Меня интересует уже чисто теоретический момент. Ну ладно когда от одного пользователя пришли данные, я их могу скопом запихать, а вот если у меня много пользователей.


Какой момент Вас интересует? И про "много пользователей" проблема не понятна?!

автор
Если фактически данные не изменяются, то СУБД не должна их обновлять.


И это она еще должна сделать на стадии, когда только пользователь подумал. Да? Ваша задача, как разработчика, создать необходимый алгоритм обработки данных.

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


Потому что она делает то, что ей велели (в коде). Как Вы напишите код, так и будет вести себя СУБД.

автор
Не легче ли их просто оставить как есть?


С чего бы СУБД проявлять самодеятельность?!
26 дек 07, 10:14    [5097156]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Делаем так

update mytable
set name='ляляля'
where id=1

выполняется 15 мс и ничего при этом не меняет.


Щаз, не меняет. Это Вы в курсе, что новое значение и старое совпадает. Вы попросили СУБД явно проставить значение в поле записи. Зачем ей проявлять самодеятельность (тратя на это доп ресуры) и сравнивать старое и новое значение. Она честно (грубо):

1. Откроет транзакцию.
2. Запишет изменения в лог.
3. Изменит запись.
4. Если нет ошибок, закоммитит.

автор
update mytable
set name='ляляля'
where id=1 and name<>'ляляля'

выполняется быстро и ничего при этом не меняет.


А то?! Менять то нечего, ибо нет записей, подпадающих под условия отбора.

автор
Почему я должен писать дополнительное условие, добавлять параметр к запросу, почему это не реализовано на уровне СУБД?


Патамушто разумом наделены Вы, а не СУБД. И в Ваших руках управление СУБД.

ЗЫ. Если писать не хочется, то, м.б. стоит поискать себе другое занятие?
26 дек 07, 10:21    [5097186]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
pkarklin
автор
Делаем так

update mytable
set name='ляляля'
where id=1

выполняется 15 мс и ничего при этом не меняет.


Щаз, не меняет. Это Вы в курсе, что новое значение и старое совпадает. Вы попросили СУБД явно проставить значение в поле записи. Зачем ей проявлять самодеятельность (тратя на это доп ресуры) и сравнивать старое и новое значение...

Как Вам чуть выше продемонстрировали - если проверять значение - ресурсов тратиться меньше

pkarklin
ЗЫ. Если писать не хочется, то, м.б. стоит поискать себе другое занятие?

На то и сервер чтобы за меня делать тупую работу


2 Самоловских Виталий aka Kefir
Вы не учитываете, что сервер на каждый апдейт еще создаётся deleted и inserted, а для этого имеет значение делаете вы апдейт ничего не меняя или не делаете. Может быть у Вас еще триггер есть? 15мс как-то многовато
26 дек 07, 11:19    [5097536]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin

Как в приложении системным таймером можно измерить время выполнения запроса на сервере?!

Я где-то сказал, что это 1 запрос? Мне в сущности все равно сколько времени выполняется запрос. Меня интересует время реакции системы. Именно про него я говорил, когда имел ввиду в 20 раз.

автор
Примерно так. Пользователь выгружает некий справочник, в моем случае в Excel. Но это не важно, с тем же успехом могли быть dbf и т.п.. Правит его у себя и загружает обратно. Зачем его целиком таскать мне самому непонятно.


Абалдеть архитектурка...

А Вы уверены, что ваши пользователи используют вашу систему так как Вы задумывали?

Какой момент Вас интересует? И про "много пользователей" проблема не понятна?!

Запросы от нескольких пользователей в одну транзакцию не запихать. Ну можно, но это изврат. Так что batch-режим в этом случае не поможет.

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

Потому что она делает то, что ей велели (в коде). Как Вы напишите код, так и будет вести себя СУБД.

А вот и нет. SQL относится к языкам сверхвысокого уровня. Я не должен говорить как, я должен говорить что.

автор
Не легче ли их просто оставить как есть?

С чего бы СУБД проявлять самодеятельность?!

С того что в ряде случаев это будет быстрее.
26 дек 07, 11:21    [5097548]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
SergSuper

Может быть у Вас еще триггер есть? 15мс как-то многовато

Нет. Это чистый апдейт. Сервак старенький, винты медленные. Быстрее не получается.
26 дек 07, 11:27    [5097587]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
SergSuper
Как Вам чуть выше продемонстрировали - если проверять значение - ресурсов тратиться меньше


Ну так и пишите запрос у словием проверки. Почему сервер должен "додумывать" это за разработчика. Б.м. Вы мне приведете ссылки на языки, которые в случие явно прописанного в коде (абстрактно):

Var1 = <SomeValue>

будет проверять значение, которое уже есть в Var1 и если оно равно <SomeValue>, не будет выполнять присвоения.

SergSuper
На то и сервер чтобы за меня делать тупую работу


Знаете за что я не люблю Excel - за то, что он начинает "делать за меня тупую работу". Вставьте значение банковского счета в ячейку на чистом листе и уйдите с нее.
26 дек 07, 11:59    [5097881]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin

Знаете за что я не люблю Excel - за то, что он начинает "делать за меня тупую работу". Вставьте значение банковского счета в ячейку на чистом листе и уйдите с нее.

Вы е любите а я люблю. Я же не сказал что сервер обязан делать такую проверку. Я во-первых спросил: "Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?" Пользоваться ими или нет это сугубо Ваше, в Вашем случае, и мое, в моем, дело.

Вы вскользь упомянули, что на это тратятся дополнительные ресурсы. Единственное конструктивное высказывание по вопросу. Но позвольте, разве при апдейте не копируются страницы, разве искомая запись не попадает в оперативку в любом случае? В моем понимании для такой проверки потребуются лишь несколько дополнительных тактов процессора. Которые в случае фиксации транзакции в БД стоят несоизмеримо меньше, чем скорость записи на жесткий диск. И такая проверка никак не повлияет на скорость выполнения транзакции.

Если я ошибаюсь, то, не могли бы Вы меня просветить?
26 дек 07, 12:09    [5097962]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin
Б.м. Вы мне приведете ссылки на языки, которые в случие явно прописанного в коде (абстрактно):

Var1 = <SomeValue>

будет проверять значение, которое уже есть в Var1 и если оно равно <SomeValue>, не будет выполнять присвоения.

Аналогия неуместна (с) Формула Любви

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

В случае БД:
1. Скорость чтения ОЗУ заметно выше, чем скорость записи на диск.
2. Запись с большой вероятностью может находиться в ОЗУ.
3. В любом случае происходит чтение страницы с записью и она попадает в ОЗУ.
Таким образом дополнительная проверка может дать (и дает) значительный эффект в производительности.
26 дек 07, 12:17    [5098027]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Я где-то сказал, что это 1 запрос? Мне в сущности все равно сколько времени выполняется запрос. Меня интересует время реакции системы. Именно про него я говорил, когда имел ввиду в 20 раз.


Да Вы вообще мало чего говорите техничеком плане. Ведете речь об улучшайзинге "одной штуки" и "этого дела". В результат виноватым оказывается сервер в том что он оказался не прозорливым и не додумал за Вас.

автор
А Вы уверены, что ваши пользователи используют вашу систему так как Вы задумывали?


Угу. Уверен.

автор
Запросы от нескольких пользователей в одну транзакцию не запихать. Ну можно, но это изврат. Так что batch-режим в этом случае не поможет.


От нескольких пользователей в текущей постановке - нет. А вот хотя бы все запросы одного клиента завернуть в общую транзакцию стоит.

автор
А вот и нет. SQL относится к языкам сверхвысокого уровня. Я не должен говорить как, я должен говорить что.


Вы и говорите, "что", но "как" - определено "by design", а не так как Вы предполагаете.

автор
С того что в ряде случаев это будет быстрее.


Но не будет соответствовать семантике запроса!
26 дек 07, 12:57    [5098328]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin
автор
Я где-то сказал, что это 1 запрос? Мне в сущности все равно сколько времени выполняется запрос. Меня интересует время реакции системы. Именно про него я говорил, когда имел ввиду в 20 раз.

Да Вы вообще мало чего говорите техничеком плане. Ведете речь об улучшайзинге "одной штуки" и "этого дела". В результат виноватым оказывается сервер в том что он оказался не прозорливым и не додумал за Вас.


Я не виду речь об улучшайзинге конкретной штуки. И сервер ни в чем не виноват. Каким бы ни был сервер в конечном итоге скорость фиксации транзакции зависит от скорости винтов и от этого никуда не деться.

Вот это о чем-нибудь Вам говорит? "Внимание вопрос! Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?" Это было в моем 1м сообщении!!!

Меня не интересует Ваше мнение обо мне и о моей системе. Меня интересует ответ на конкретный вопрос: "Реализована ли подобная проверка в каких-нибудь СУБД? Если да, то в каких?"
26 дек 07, 13:25    [5098506]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Самоловских Виталий aka Kefir
Вы вскользь упомянули, что на это тратятся дополнительные ресурсы. Единственное конструктивное высказывание по вопросу. Но позвольте, разве при апдейте не копируются страницы, разве искомая запись не попадает в оперативку в любом случае? В моем понимании для такой проверки потребуются лишь несколько дополнительных тактов процессора. Которые в случае фиксации транзакции в БД стоят несоизмеримо меньше, чем скорость записи на жесткий диск. И такая проверка никак не повлияет на скорость выполнения транзакции. Если я ошибаюсь, то, не могли бы Вы меня просветить?


Т.е. Вы хотите, чтобы все, ято связано с изменением значение поля завязывалось на его значение на уровне ядра, а не на уровне разработки?

Возможно, когда-нибудь, ANSI и придумет какую-нибудь дополнительную клаузу в UPDATE типа

update mytable
set name='ляляля'
where id=1
OPTION (NewValueOnly)

:)
26 дек 07, 13:33    [5098568]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin

Т.е. Вы хотите, чтобы все, ято связано с изменением значение поля завязывалось на его значение на уровне ядра, а не на уровне разработки?

ДА! ДА! ДА! Именно об этом я и спрашиваю!!! Вполне логично допустить, что где-то это уже реализовано. Вот я и хочу это знать. Залезть в дебри пары десятков популярных СУБД для одного человека не представляется возможным, поэтому я и задаю этот вопрос на форуме. Может кто-нибудь скажет: "А вот в VasiaPupkinSQL это уже давно реализовано!"

Возможно, когда-нибудь, ANSI и придумет какую-нибудь дополнительную клаузу в UPDATE типа

update mytable
set name='ляляля'
where id=1
OPTION (NewValueOnly)

:)

Будем надеяться.
26 дек 07, 13:38    [5098607]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Я не виду речь об улучшайзинге конкретной штуки. И сервер ни в чем не виноват.


Гы... Это кто сказал:

автор
Работаю с MS SQL Server 2000

Оптимизировал однажды одну штуку. Столкнулся с тем что update одной записи выполняется 15мс. Это очень долго

?
Дальше, как оказывается, таки был кривой код, улучшайзингом которого Вы занялись, убрав лишние UPDATEты. Потом всплыло, что фиксация транзакции выполнялась для каждой изменяемой записи. И в конце концов Вам "захотелось найти СУБД" (о чем Вы и спросили) которая вместо Вас будет заниматься улучшайзингом.

автор
Меня не интересует Ваше мнение обо мне и о моей системе.


Вне зависомости от того, интересует оно Вас или нет, нравится Вам это или нет, я имею право его высказывать в пределах Правил форума.

Вам или придется с этим мирится или больше не задавать здесь вопросов.
26 дек 07, 13:46    [5098663]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Будем надеяться.


Не думаю, что это кому-нибудь придет в голову, ибо это реализуется уже существующим набором клауз. ;)
26 дек 07, 13:50    [5098698]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
Самоловских Виталий aka Kefir
Member

Откуда: Пермь
Сообщений: 486
pkarklin

Дальше, как оказывается, таки был кривой код, улучшайзингом которого Вы занялись, убрав лишние UPDATEты.

Не кривой, а плохо оптимизированный :-\
И, естественно, я бы хотел чтобы оптимизацией занималась СУБД. Не вижу в этом ничего плохого.
26 дек 07, 14:48    [5099212]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Самоловских Виталий aka Kefir
И, естественно, я бы хотел чтобы оптимизацией занималась СУБД. Не вижу в этом ничего плохого.


Ну, она занимается в силу своих возможностей. Но не на уровне "перекраивания" инструкций. :)
26 дек 07, 14:52    [5099254]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
ЧАЛ
Guest
Самоловских Виталий aka Kefir
Вот это меня и напрягает. Почему я должен писать дополнительное условие, добавлять параметр к запросу, почему это не реализовано на уровне СУБД?

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

update mytable set name = 'lalala'; 

update mytable set name = 'lalala' where name != 'lalala'; 

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

Это легко продемонстрировать. После первого запроса гарантировано все поля будут равны 'lalala'. А вот после второго запроса это вовсе не гарантировано, поскольку те поля, который уже были равны 'lalala' (а потому исключены) могут быть в процессе выполнения приравнены к какому-то другому значению (конкурентным запросом). Такие ситуации часто встречаются, например, с неравенствами тоже подобного рода проблемы могут возникнуть.

Возможно, такая оптимизация включается автоматически в какой-то СУБД, если отключить транзакции или понизить уровень (ну и нужны индексы конечно).
26 дек 07, 15:52    [5099697]     Ответить | Цитировать Сообщить модератору
 Re: Скорость update  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
pkarklin
SergSuper
Как Вам чуть выше продемонстрировали - если проверять значение - ресурсов тратиться меньше


Ну так и пишите запрос у словием проверки. Почему сервер должен "додумывать" это за разработчика. Б.м. Вы мне приведете ссылки на языки, которые в случие явно прописанного в коде (абстрактно):

Var1 = <SomeValue>

будет проверять значение, которое уже есть в Var1 и если оно равно <SomeValue>, не будет выполнять присвоения.


Посмотрите исходники VCL - почти все проперти так реализованы
26 дек 07, 16:02    [5099784]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить