![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формат даты в FireBird [D6]
O.O © (2006-10-09 12:22:00)Зависит ли формат Даты в SQL запросе от системных настроек Windows или он всегда должен писаться через точку, и как тогда правильно dd.mm.yyyy или mm.dd.yyyy
Rule (2006-10-09 17:44:00) [1]atruhin © (09.10.06 17:28) [43]
нуууу в большинстве случаев вставка данных не так часто и происходит, больше производительности падает он неоптимизированых запросов на селект
Rule (2006-10-09 17:43:00) [2]Johnmen © (09.10.06 17:23) [41]
извини, старался :-)
atruhin (2006-10-09 17:28:00) [3]> [38] Rule © (09.10.06 17:06)
> Johnmen © (09.10.06 17:02) [37]
> можно в ней провести валидацию,
И почти в 2 раза перегрузить сервер, так как один раз будет проверять хранимка, а второй раз сервер
Konrads (2006-10-09 17:26:00) [4]и действительно :)
Johnmen (2006-10-09 17:23:00) [5]
> Rule © (09.10.06 17:06) [38]
Ничего не понял... Ответ не получил...
Да и ладно. Забьём...
Rule (2006-10-09 17:20:00) [6]Konrads (09.10.06 17:18) [39]
нууууууууууууууу, как сказать .... может ты и прав, но мне лично было удобнее искать дырки, в 90 процентах "дырки" указывали на косяк ...
Konrads (2006-10-09 17:18:00) [7]
> есть случаи когда "дырки" могут усложнить ошибку анализа
> ... допустим у нас есть какая-либо таблица, в которую только
> вставляются данные, а потом используются только для чтения
> ... часто встречается такая ситуация ... так вот по "дыркам"
> можно отслеживать где был косяк при вставке, вычислить проблеммные
> участки, тоесть определить что была какая-то ошибка в работе
> системы и опираясь на это найти этот косяк ...
Если чесно, но лично моё мнение такое:
Делать сколь-либо серьёзный анализ на основе того что появилась "дырка" в таблице в которую толко записываются данные, а поле первичного ключа заполняется триггером от своего собственного генератора - равносильно поиску чёрной кошки в тёмной комнате когда её там нет. Для анализа на мой взгляд надо пользоваться более точными инструментами.
Rule (2006-10-09 17:06:00) [8]Johnmen © (09.10.06 17:02) [37]
можно в ней провести валидацию, а если используется совместный код, то упрощает взаимопонимание между разработчиками ...
Johnmen (2006-10-09 17:02:00) [9]
> Rule © (09.10.06 16:56) [33]
Нет, ты всё же скажи, чем так характерна хранимка в трудной борьбе с дырками.
Rule (2006-10-09 17:00:00) [10]Konrads (09.10.06 16:54) [32]
учитывая то, что обычно ошибки в таких таблицах обнаруживаются в конце анализа и закрытия какого-либо периода, в таком случае искать ошибку во всем периоде в большом количестве записей тяжело ...
Rule (2006-10-09 16:59:00) [11]Konrads (09.10.06 16:54) [32]
и чем интенсивнее идет вставка данных и чем больше пользователей это делают, плюс добавить репликацию ... тогда становиться ощутимо
Rule (2006-10-09 16:58:00) [12]Konrads (09.10.06 16:54) [32]
есть случаи когда "дырки" могут усложнить ошибку анализа ... допустим у нас есть какая-либо таблица, в которую только вставляются данные, а потом используются только для чтения ... часто встречается такая ситуация ... так вот по "дыркам" можно отслеживать где был косяк при вставке, вычислить проблеммные участки, тоесть определить что была какая-то ошибка в работе системы и опираясь на это найти этот косяк ...
Rule (2006-10-09 16:56:00) [13]Johnmen © (09.10.06 16:49) [31]
тем, что если в хранимку передались правильные параметры, то уже уменьшаются шансы на ошибку вставки, плюс валидацию можно засунуть в саму хранимку, в итоге генерировать новое значение гениратора только при прохождении такой валидации, причем разгружая бизнес-логику клиента ...
Konrads (2006-10-09 16:54:00) [14]Основное свойство значения полученного от генератора не непрерывная последовательность натуральных чисел, а их уникальность, и тоже самое относится к первичному ключу. Какая принципиальная или другая разница какое значение будет записано в поле первичного ключа, просто интересно. Какие алгоритмы сломаются если между соседними значениями будет разница отличная от единицы (или любого другого равномерного интервала). Если такие алгоритмы есть в программе, что сними делать после удаления записей из таблицы?
Johnmen (2006-10-09 16:49:00) [15]
> Rule © (09.10.06 16:46) [30]
> ...но помоему проще в хранимку засунуть, хотя дело вкуса
Чем хранимка спасёт пламенного борца с дырками?
:)))
Rule (2006-10-09 16:46:00) [16]лана, поддерживаю:
Sergey13 © (09.10.06 16:41) [27]
Ну дыры в ИД обсуждать не будем, надоело. 8-)
закрываю тему ...но помоему проще в хранимку засунуть, хотя дело вкуса ...
Rule (2006-10-09 16:45:00) [17]Sergey13 © (09.10.06 16:41) [27]
бац а запись не может быть вставлена, и все дырка ... ничего страшного, повторяюсь, но неприятно
Johnmen (2006-10-09 16:44:00) [18]
> Rule © (09.10.06 15:55) [18]
> O.O (09.10.06 14:33) [13] примеру делаю новую запись в
> таблице А и таблице Б, и есть необходимость чтоб в поле
> первичного ключа обеих таблиц было одно и тоже значение.
> зачем ????
В две таблицы - Мастерную и Детальную.
> Rule © (09.10.06 16:21) [25]
> отвечаю про конфликт: при вставке новой записи если беру
> значение генератора до вставки, тогда при неудачной вставке
> засада - ниспользованое значение, не фатально, но всеже
> неприятно,
Кому неприятно? Серверу? :)
>если в процессе вставки, то не известно сколько
> будет вставляться запись и может оказаться что в этот момент
> тоже самое значение взял кто-то другой и тогда будет дублирование
> ...
Так никто не делает. Разве что совсем новички...
Sergey13 (2006-10-09 16:41:00) [19]> [25] Rule © (09.10.06 16:21)
Ну дыры в ИД обсуждать не будем, надоело. 8-)
> если в процессе вставки, то не известно сколько будет вставляться
> запись и может оказаться что в этот момент тоже самое значение
> взял кто-то другой и тогда будет дублирование
А откуда дублирование то?
1. :ID = Select Gen_Id(Gen,1) from RDB$DATABASE
2. Insert into table1(id) values(:ID)
3. Insert into table2(id) values(:ID)
Konrads (2006-10-09 16:22:00) [20]тоже значение взять невозможно