|
|
|
можно ли в аса делать вычисляемые поля на вычисляемые поля
|
|||
|---|---|---|---|
|
#18+
АСА 9 Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 17:16 |
|
||
|
можно ли в аса делать вычисляемые поля на вычисляемые поля
|
|||
|---|---|---|---|
|
#18+
Попробуй, нам тоже интересно ;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 18:05 |
|
||
|
можно ли в аса делать вычисляемые поля на вычисляемые поля
|
|||
|---|---|---|---|
|
#18+
Главное не переусердствовать с ними. Руководствоваться решением ввода вычисляемых полей лучше исходя из следующих соображений: 1. требуется сделать индекс на вычисляемое поле из за частого использования выражения вычисляемого поля в фильтре у запросов (например у нас есть поле типа Date и мы часто в запросах ставим условие Year(Date) = <Значение>). 2. требуется большая скорость работы с ними - в ASA они хранятся как обычные, то есть занимают физическое пространство в БД и соответствующе сами их вычисления происходят в момент вставки и обновления записей. Естественно помнить о том что БД будет с ними больше весить тоже не помешает. Если всего этого не требуется, то рекомендую вместо них делать представления, где алиасами и добавлять нужные вычисляемые колонки. Так же категорически рекомендую ни использовать в вычисляемых полях собственные функции или глобальные переменные, будут очень большие проблемы с операцией перегрузки БД (этот же совет относится и к использованию функций и переменных в представлениях). В таких случаях лучше делать хранимые процедуры и их использовать в запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 18:29 |
|
||
|
можно ли в аса делать вычисляемые поля на вычисляемые поля
|
|||
|---|---|---|---|
|
#18+
ASCRUS(например у нас есть поле типа Date и мы часто в запросах ставим условие Year(Date) = <Значение>). А если вместо условия Year(Date) = <Значение> написать Date >= YMD(<Значение>, 1, 1) and Date < YMD(<Значение> + 1, 1, 1) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 00:14 |
|
||
|
можно ли в аса делать вычисляемые поля на вычисляемые поля
|
|||
|---|---|---|---|
|
#18+
Dim2000 ASCRUS(например у нас есть поле типа Date и мы часто в запросах ставим условие Year(Date) = <Значение>). А если вместо условия Year(Date) = <Значение> написать Date >= YMD(<Значение>, 1, 1) and Date < YMD(<Значение> + 1, 1, 1) ? Все зависит для чего Вам это нужно. Если просто так получить все записи за год, то можно и просто поле Date проиндексировать. Если же в запросе еще куча условий на эту таблицу, то Year(Date) будет работать быстрее и эффективнее, так как тут будет равенство, а в Вашем варианте BETWEEN менее эффективен, плюс для составных индексов он всегда означает, что следующие поля индекса уже оптимизатором в запросе использоваться не будут. Так же вычисляемые поля удобны для организации поиска по полям с большим размером. Например нужно найти запись по полю varchar(200). Делать по этому полю индекс было бы накладно с точки зрения его эффективности и размеров в БД. Легче сделать индекс на вычисляемое поле LEFT(Field, 2) и в запросе искать по условию: ComputedField = Left(<Значение>, 2) AND Field = <Значение>. В итоге будет использован индекс поиска значения по первым 2 буквам, далее уже по найденной ветке индекса на все записи будет применено сканирование по поиску полного соотвествия значения. Пример мной был взят из книги Брека Картера, там довольно много интересных решений (см FAQ , SQL Anywhere Studio 9 - Developers Guid). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2004, 11:34 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32741094&tid=2014155]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 244ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...