powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / баг ?
11 сообщений из 11, страница 1 из 1
баг ?
    #33078274
Марсель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет
в процессе поиска ошибки в данных нашел что-то непонятное
2 почти одинаковых запроса выдают разные данные в ISQL,
а если через delphi смотреть то выдает третье
это баг или меня глючит ? :)
asa 9.0.2.2551
у кого версия поновей посмотрите как у вас, плиз (файл приложен)
кстати новый патч вышел 3124

Код: plaintext
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.
// 49 строка в выборке
SELECT 
B.ID, 
(SELECT ID FROM MSoft.UserRights WHERE UserRights.User_ID=38 AND UserRights.Prop_ID=B.ID)
FROM MSoft.UserRightProp B order by B.ID

    ID,ID
... =====
47  83,
48  84,
49  85,1974
50  86,
51  87,
...


SELECT 
(SELECT ID FROM MSoft.UserRights WHERE UserRights.User_ID=38 AND UserRights.Prop_ID=B.ID), 
B.ID
FROM MSoft.UserRightProp B order by B.ID

     ID,ID
...  =====
47     ,83
48     ,84
49 1974,52
50     ,86
51     ,87
...
...
Рейтинг: 0 / 0
баг ?
    #33078283
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фикс 3044 - в обоих случаях четко 56 записей, столько же, сколько есть в таблице MSoft.UserRightProp. Сейчас выкачаю и прогоню новый фикс.
...
Рейтинг: 0 / 0
баг ?
    #33078288
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3124 - то же самое - все запросы возвращают 56 записей.

P.S. Интересно, в 3124 сколько всего появилось:
1. локальные сессионные времянки (CREATE LOCAL TEMPORARY TABLE), которые в отличие от обычных локальных времянок будут жить до конца сессии или дропа, даже при выходе из области видимости, где их обьявили.
2. возможность указывать на минимальный, средний и максимальный размеры кэша не фиксированное, а относительное кол-во памяти в процентах от свободного текущего размера RAM на сервере.
3. Новые параметры для CONNECTION_PROPERTY - RequestStatus и RequestTiming. Позволяют отследить на сессию тучу параметров и занимаемое кол-во времени. Для полного счастья сделана процедура dbo.sa_performance_diagnostics(), которая в виде запроса возвращает все характеристики сессий, соотвествующе можно быстро выявить какие сессии загружают сервер например более 10 процентов от его общего времени:
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT Number, Name,
  cast( datediff( second, LoginTime, CURRENT TIMESTAMP ) AS DOUBLE ) AS 
	T,
  ReqTimeActive / T AS PercentActive
FROM	dbo.sa_performance_diagnostics()
WHERE	PercentActive >  10 . 0 
ORDER BY PercentActive DESC
4. Добавлена новая статистика в Performance Monitor (очень даже много добавлено).
5. Очень много доработок и исправлений ошибок с AWE.
6. Поборолись с ростом файла БД, вроде как разобрались с чекпойнтами и теперь файлы БД не будут так стремительно расти.
7. Появилась новая опция Collect_statistics_on_dml_updates, позволяющая включать и отключать сбор статистики на DML операторы (то есть отключая мы ускоряем запись данных в БД, но сбор статистики оставляем на потом - ручками или же она автоматически будет корректироваться при выполнении запросов).
8. Естественно где смогли, подбавили AI оптимизатору запросов.
...
Рейтинг: 0 / 0
баг ?
    #33078292
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку - что то я не нашел в опциях БД Collect_statistics_on_dml_updates, наверное чего то правильно понял из описания фикса :)

Прогнал ради интереса тесты по вставке миллиона родительских и 10 миллионов дочерних записей, который был приведен в форуме "Сравнение СУБД". На тех же параметрах сервера отработало на 113 секунд раньше, чем на предыдущем фиксе, что не может не радовать :)
...
Рейтинг: 0 / 0
баг ?
    #33078341
Марсель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за ответ
ASCRUS
...в обоих случаях четко 56 записей, столько же, сколько есть в таблице MSoft.UserRightProp.
так и у меня 56 записей
а именно 49-ая строка правильно выдает данные в обоих запросах ?
(мне патч по модему долго качать :)
...
Рейтинг: 0 / 0
баг ?
    #33078363
Марсель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос
SELECT ID FROM MSoft.UserRights WHERE UserRights.User_ID=38 AND UserRights.Prop_ID=85

ID
==
2624
2623

значит должен ругаться - подзапрос выдает больше 1 строки ...
а он не ругается и в новых патчах, значит все таки баг ?
...
Рейтинг: 0 / 0
баг ?
    #33078477
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASA 9.0.0 1383

Result Set1:
...
49 85 1974
...

Result Set2:
...
49 1974 52
...

...
Рейтинг: 0 / 0
баг ?
    #33078592
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марсельспасибо за ответ
ASCRUS
...в обоих случаях четко 56 записей, столько же, сколько есть в таблице MSoft.UserRightProp.
так и у меня 56 записей
а именно 49-ая строка правильно выдает данные в обоих запросах ?
(мне патч по модему долго качать :)
Угу, тогда баг, который смело можно им выкладывать. Я не сразу понял, что имеется ввиду. Вопрос - а не легче ли JOIN-ами пользоваться и не нарываться на такие неоднозначности ? Например этот же запроса вернул бы результат из 57 записей и всяких SubQuery, которые только замедляют работу:
Код: plaintext
1.
2.
3.
SELECT B.ID AS B_ID, X.ID AS R_ID
FROM MSoft.UserRightProp B 
  LEFT JOIN MSoft.UserRights X ON X.User_ID= 38  AND X.Prop_ID=B.ID
ORDER BY B.ID
...
Рейтинг: 0 / 0
баг ?
    #33078788
Марсель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS
Вопрос - а не легче ли JOIN-ами пользоваться и не нарываться на такие неоднозначности ?
Однозначно, это все решает. Еще ограничение уникальности по User_ID, Prop_ID и пр.
Просто это не мой код, и я его не трогал, плюс к этому в asa7 все работало.
Да и в 9 тоже ДОЛЖНО работать...

Спасибо ASCRUS и всем кто потратил свое время на проверку и ответы
...
Рейтинг: 0 / 0
баг ?
    #33079842
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSПрогнал ради интереса тесты по вставке миллиона родительских и 10 миллионов дочерних записей, который был приведен в форуме "Сравнение СУБД".
Это оно? Сейчас посмотрим :)...
...
Рейтинг: 0 / 0
баг ?
    #33080157
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000 ASCRUSПрогнал ради интереса тесты по вставке миллиона родительских и 10 миллионов дочерних записей, который был приведен в форуме "Сравнение СУБД".
Это оно? Сейчас посмотрим :)...
Этот тест:
/topic/138641&pg=29#1471091
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / баг ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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