powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выбор идентификатора записи для комфортной репликации
2 сообщений из 27, страница 2 из 2
Выбор идентификатора записи для комфортной репликации
    #39137057
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док DBConstructor ,
У тебя исходные условия не те. Попробуй сделать ПК обычным автоинкрементом и ищи запись по гуиду в кляузе WHERE. У меня все время план идет натуралом.
Ну я хз...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE UUID_TEST
(
    REC_ID  INTEGER NOT NULL,
    UU_ID   UUID NOT NULL,
    STR     VARCHAR(10) NOT NULL,
  CONSTRAINT UUID_TEST__PK PRIMARY KEY (REC_ID),
  CONSTRAINT UUID_TEST__UQ UNIQUE (UU_ID)
);
COMMIT WORK;

INSERT INTO UUID_TEST (REC_ID, STR) VALUES (1, 'One');
INSERT INTO UUID_TEST (REC_ID, STR) VALUES (2, 'Two');
INSERT INTO UUID_TEST (REC_ID, STR) VALUES (3, 'Three');
INSERT INTO UUID_TEST (REC_ID, STR) VALUES (4, 'Four');
COMMIT WORK;

/* Остальное без изменений */


У меня работает.
Код: text
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Query
------------------------------------------------
SELECT UUID_TO_CHAR(UU_ID), STR
  FROM UUID_TEST
  WHERE UU_ID = CHAR_TO_UUID('7D6A783D-AB42-40BB-BE5D-BD5814061D72');

Plan
------------------------------------------------
PLAN (UUID_TEST INDEX (UUID_TEST__UQ))

Query Time
------------------------------------------------
Prepare       : 0.00 ms
Execute       : 0.00 ms
Avg fetch time: 0.00 ms

Memory
------------------------------------------------
Current: 12 154 792
Max    : 14 014 560
Buffers: 2 048

Operations
------------------------------------------------
Read   : 0
Writes : 0
Fetches: 11
Marks  : 0


Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|          Table Name           |  Records  |  Indexed  | Non-Indexed | Updates | Deletes | Inserts | Backouts |  Purges  | Expunges |
|                               |   Total   |   reads   |    reads    |         |         |         |          |          |          |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|UUID_TEST                      |         0 |         1 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
...
Рейтинг: 0 / 0
Выбор идентификатора записи для комфортной репликации
    #39137082
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокДа, Дим, увидел разницу. DBConstructor кастует параметр, а я - поле.
Ну дык в твоем случае сервер ничего не знает об индексе UUID_TO_CHAR(UUID_STR) и, соответственно,
Код: plsql
1.
WHERE UUID_TO_CHAR(UUID_STR) = CAST(:UUID AS CHAR(36) CHARACTER SET ASCII)  /* NATURAL */


Ничего, со всеми бывает...
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выбор идентификатора записи для комфортной репликации
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]