|
|
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
Привет! Подскажите, пожалуйста, как в IB лучше работать с GUID, жаль что нет специального типа поля, как, например, в MS SQL 2000. Это поле должно хорошо индексироваться. Правда, я не знаком с IB 7, может быть, там уже это реализовано? Первый вариант - хранить его в четырех полях INTEGER, второй - в символьной строке. У кого есть таковой опыт, знатоки, откликнитесь. Заранее признателен всем ответившим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 08:56 |
|
||
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
http://www.ibase.ru/devinfo/test2.htm http://www.ibase.ru/devinfo/octets.htm GUID UDF здесь http://www.ibase.ru/d_udf.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 10:06 |
|
||
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
В статье, почему-то, делается упор на поле CHAR. Может быть, лучше использовать пару полей INT64, а не CHAR, в смысле индекс по двум INT64 будет лучше работать при выборке ...WHERE INT641 = :INT641 AND INT642 = :INT64... чем ...WHERE CHAR1 = :CHAR1... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 15:15 |
|
||
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
Привет! Выборка быстрее будет работать по одному полю. Также - составной индекс по 2 полям медленнее одинарного по одному. WBR, Alexey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 16:36 |
|
||
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
Да, но строка есть строка и индекс по строковому полю, по-моему, хранится несколько иначе ("обременительнее" для ресурсов сервера как по размеру, так и по времени, см. ссылки в первом ответе "ibase"), нежели по целочисленным полям... Кстати, почему-то в моем IB не принимается тип INT64? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2003, 09:20 |
|
||
|
Как лучше работать с GUID
|
|||
|---|---|---|---|
|
#18+
Привет! доку, доку смотрим. INT64 - это механизм хранения, а не тип, он вклюачется при использовании типа данных вроде NUMERIC(18,0) Вроде есть алиасы типа BIGINT для него. Насчет того, что строка накладнее или число - оверхеда там фактически нет. Если не веришь, то это можно легко проверить - берешь UDF для генерации GUID, генеришь табличку на миллион записей с ним, затем тоже самое с INT64 и вперед - тестируй выборку по индексам (для фетча записей разница появится только если строки будут гораздо больше чем 8 байт, так как упаковка что целых, что символьных данных работает одинаково). WBR, Alexey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2003, 11:49 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32162018&tid=1580508]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 500ms |

| 0 / 0 |
