Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
17.12.2008, 17:39
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
а кто-нибудь знает, почему в фоксе 2.6 запрос (1) select count(*) from tab where status=4 не зависит от состояния set deleted а запрос (2) select count(*), status from tab group by status зависит??? т.е. реально (1) выдает число 10398 как для set deleted off так и для set deleted on а (2) выдает несколько строк среди которых та что для status=4 показывает разные значения ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.12.2008, 19:11
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
Потому, что надо использовать "правильный" синтаксис запроса с Group by, что бы не получать "косяков" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.12.2008, 19:12
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
в смысле? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 00:33
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
Вообще-то, разницы быть не должно. Разве что, вы выполняете запросы "в динамике". Т.е. какой-то другой пользователь в это же время удаляет/добавляет/изменяет записи. Попробуйте подсчитать количество записей, помеченных как удаленные для status=4 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 11:19
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
BorisTheBlade, select count(*), status from tab WHERE !DELETED() group by status ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 17:16
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
FAMBorisTheBlade, select count(*), status from tab WHERE !DELETED() group by status это я уже сделал, но мне непонятно почему два очень похожих запроса работают по разному и в документации об этом ничего нет. я совершенно случайно наткнулся на эту особенность или глюк уж не знаю. написали бы, что результат select может быть непредсказуем в случае отсутствия явного указания deleted() все выполнялось одним пользователем на локальной машине. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 17:18
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
и кстати в microsoft foxpro оба представленных запроса работают корректно, в соответствии с установкой set deleted ... похоже на глюк. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 17:20
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
в смысле microsoft visual foxpro ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.12.2008, 18:20
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
авторselect count(*) from tab where status=4 не зависит от состояния set deleted Правильно этот запрос отрабатывает в FPD26, учитывая текущее значение sed deleted. Ищите у себя косяк ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2008, 01:11
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
В 2.6 состояние set deleted должно учитываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2008, 15:48
|
|||
---|---|---|---|
|
|||
фокс 2.6 странная работа select |
|||
#18+
сегодня еще раз попробовал: set deleted off select count(*) from tab && 10511 set deleted on select count(*) from tab && 10511 close all use tab set deleted off count to m.i && 10511 set deleted on count to m.i && 10508 может это из-за индексов, есть несколько штук в том числе по deleted()? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2008, 16:23
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
Для проверки кривых индексов попробуй их удалить и повторить тест. Также возможно кривые сами таблицы. Перезалей данные в новую таблицу, удали парочку записей и повтори проверку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2008, 22:48
|
|||
---|---|---|---|
фокс 2.6 странная работа select |
|||
#18+
Перестал использовать сложный Select с фильтром по Deleted() после того как получил разные результаты (разница была только в том, что в одной таблице указатель стоял на помеченной на удаление, а при следующим запросе стоял на обычной записи). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&tablet=1&tid=1586945]: |
0ms |
get settings: |
14ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 489ms |
0 / 0 |