|
|
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть таблица: Код: sql 1. 2. 3. 4. 5. Из таблицы INC_STATE нужно определить все ADDR для которых существуют записи, в которых ID = 200, а VAL = 0 и ID = 201, а VAL = 0. Если бы было одно из условий, я бы сделал: Код: sql 1. Но нужно оба, а Код: sql 1. по понятным причинам не работает. Единственное что пришло в голову это вот такой изврат: Код: sql 1. 2. 3. 4. 5. Так работает, но чувствую, что должно быть более красивое решение. Может, кто-то подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 02:48:46 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
как-нибудь так Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 06:09:27 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 06:25:28 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
можно и вот так Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 10:24:59 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Tactical Nuclear Penguinкак-нибудь так Код: sql 1. 2. 3. Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 20:46:49 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
m_Sla Код: sql 1. 2. 3. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 20:47:45 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денисможно и вот так Код: sql 1. 2. 3. 4. 5. Спасибо. Похоже, что если бы к моему варианту с ИЛИ дописать Код: sql 1. получилось бы тоже самое. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 20:53:11 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Спасибо всем ответившим. И еще вопрос. А с точки зрения плана какой из запросов быстрее. План моего запроса (походу самый неудачный) Код: sql 1. 2. 3. План запроса m_Sla Код: sql 1. И план запроса Симонова Дениса Код: sql 1. Сточки зрения производительности, чем лучше пользоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 20:59:31 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agodaBuffers = 75 ну ты крут, конечно. Вообще ничего не читал про ФБ классик? Ну хоть это прочитай http://www.ibase.ru/devinfo/optimize.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 21:05:54 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agodaСимонов Денисможно и вот так Код: sql 1. 2. 3. 4. 5. Спасибо. Похоже, что если бы к моему варианту с ИЛИ дописать Код: sql 1. получилось бы тоже самое. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. DISTINCT тут лишний, т.к. GROUP BY и так удалит дубликаты. Условия что с IN что с OR эквивалентны. Если не хочешь использовать IN, то лучше вот так Код: sql 1. 2. 3. 4. 5. agodaPLAN (INC_STATE ORDER UNQ_ADDR_ID) Хм. Я думал будет PLAN (INC_STATE ORDER UNQ_ADDR_ID INDEX (UNQ_ADDR_ID, UNQ_ADDR_ID)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:30:02 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdvagodaBuffers = 75 ну ты крут, конечно. Вообще ничего не читал про ФБ классик? Ну хоть это прочитай http://www.ibase.ru/devinfo/optimize.htm Спасибо, статья отличная. Много классных инструментов. Но на что намекает Buffers = 75 я там не нашел. Можете ткнуть носом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:36:46 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисХм. Я думал будет PLAN (INC_STATE ORDER UNQ_ADDR_ID INDEX (UNQ_ADDR_ID, UNQ_ADDR_ID)) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Еще раз проверил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:41:42 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agoda, увеличить бы надо до 256-2048. Я бы поставил 1024 для начала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:42:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agoda, мне странно почему FB не задействовал сегмент индекса UNQ_ADDR_ID по полю ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:45:51 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agoda Но на что намекает Buffers = 75 я там не нашел. Можете ткнуть носом? раздел "Память", про кэш Классика. Рекомендую статьи, если они непонятны, вообще, любые, перечитывать по нескольку раз. Ничего стыдного в этом нет, я сам регулярно так делаю в отношении чужих (и своих) статей. Кроме того, в этом разделе форума туча топиков на тему "классик кэш". p.s. свою статью поправлю на эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:56:02 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денисмне странно почему FB не задействовал сегмент индекса UNQ_ADDR_ID по полю ID потому что ID IN (200, 201) это ((ID = 200) or (ID = 201)) то есть, 2 скана индекса по OR, в то время как есть другие условия по AND. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 22:58:06 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdv, Только вот если создать отдельный индекс, то он почему-то будет задействован. Код: sql 1. Код: sql 1. 2. 3. 4. 5. PLAN (INC_STATE ORDER UNQ_ADDR_ID INDEX (IDX_ID, IDX_ID)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:10:21 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денисagoda, увеличить бы надо до 256-2048. Я бы поставил 1024 для началаСпасибо, этот намек я понял. Сразу как-то не возникло ассоциаций между Buffers и DbCachePages. Просто я тестю на домашней машине отдельные запросы, база нерабочая. На рабочей у меня 2048 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:11:54 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agoda, статью обновил. Стало понятнее? Если нет, прошу комментарии, буду редактировать до тех пор, пока не будет понятно даже начинающим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:17:00 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdvagoda Но на что намекает Buffers = 75 я там не нашел. Можете ткнуть носом? раздел "Память", про кэш Классика. Рекомендую статьи, если они непонятны, вообще, любые, перечитывать по нескольку раз. Ничего стыдного в этом нет, я сам регулярно так делаю в отношении чужих (и своих) статей. Кроме того, в этом разделе форума туча топиков на тему "классик кэш". p.s. свою статью поправлю на эту тему.Спасибо, я не догнал, что Buffers говорит о количестве страниц кеша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:18:09 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agodaПросто я тестю на домашней машине отдельные запросы, база нерабочая. на домашней машине ФБ как сервису делать нечего. его надо запускать вручную, с опцией -a, и проще всего как суперсервер. http://www.ibase.ru/devinfo/inst_manual.htm потратьте 10 минут, чтобы понять, как это устроено, и чтобы вы могли переключаться за 5 сек. между разными версиями или конфигурациями ФБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:19:17 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
agodaСпасибо, я не догнал, что Buffers говорит о количестве страниц кеша в gstat -h оно еще и page buffers называется. Трясця тому, кто все это по разному назвал. Впрочем, в отношении IBExpert все проще, можно попросить Хвастунова назвать этот параметр более правильно. В отношении gstat -h поменять это можно разве что по feature request для FB 3.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:23:33 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdvпотратьте 10 минут, чтобы понять, как это устроено Кстати, у тебя там написано, что два IB разных версий можно запустить одновременно, но это увы не так: один из них не найдёт свои лицензии и запускаться откажется. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:26:37 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdvagoda, статью обновил. Стало понятнее? Если нет, прошу комментарии, буду редактировать до тех пор, пока не будет понятно даже начинающим.У меня, собственно, не статья вызвала непонимание, а значение вывода STAT ISQL. Не возникло ассоциаций со страницами кеша. Но про «по умолчанию» это хорошее замечание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:27:01 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
kdvagodaПросто я тестю на домашней машине отдельные запросы, база нерабочая. на домашней машине ФБ как сервису делать нечего. его надо запускать вручную, с опцией -a, и проще всего как суперсервер. http://www.ibase.ru/devinfo/inst_manual.htm потратьте 10 минут, чтобы понять, как это устроено, и чтобы вы могли переключаться за 5 сек. между разными версиями или конфигурациями ФБ.Спасибо, прочел. Пока у меня нет большого количества конфигураций. А сервис висит и есть не просит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2013, 23:37:38 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38433600&tid=1564209]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 484ms |

| 0 / 0 |
