|
|
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Добрый день! есть таблица1 вида: ID Name 1 AAA 2 BBB 3 CCC .... это номенклатура: ID - номер товара, Name - название и таблица2 вида: PRODUCT_ID DATA ST CLV 1 01.01.2013 1 5 1 02.01.2013 -1 1 1 03.01.2013 -1 2 2 02.01.2013 1 3 3 02.01.2013 1 10 1 05.01.2013 -1 1 2 05.01.2013 -1 1 3 06.01.2013 -1 2 .... это журнал покупок и продаж где PRODUCT_ID - номер товара из таблицы1, ST = 1-покупка, =-1-продажа CLV - количество Вопрос в том как наиболее оптимально построить запрос об остатках спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:03:19 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
лабораторная работа №3 Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:09:36 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Понятно, что GROUP BY, но как объяснить что процедура типа for select * from table1 .. do begin select sum(clv*st) from table2 end работает гораздо быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:13:08 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
я тебе не верю Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:15:50 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
мамой клянусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:18:12 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevкак наиболее оптимально построить запрос об остатках Чем тебе обычный sum(st*clv) неоптимален? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:18:19 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийлабораторная работа №5 .... лабораторная работа №3 зачётная неделя что ли началась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:19:17 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, надо ещё название из первой таблицы подлить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:20:53 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 12 ноября 2013 г. 14:19:50: Симонов Денис> зачётная неделя что ли началась? близится. студиозы начали выпадать в реал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:21:10 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Вопрос не в синтаксисе запроса, а в том что, IMHO, процедуры тупого перебора по ключевому полю работают гораздо быстрее агрегатных функций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:22:44 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevнадо ещё название из первой таблицы подлить И чо? В чём проблема-то? join+group by. Показывай запрос, его план и статистику выполнения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:24:40 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Hello, SLebedev! You wrote on 12 ноября 2013 г. 14:24:32: SLebedev> IMHO, процедуры тупого перебора по ключевому > полю работают гораздо быстрее агрегатных функций врёшь Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:25:24 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevIMHO, процедуры тупого перебора по ключевому полю работают гораздо быстрее агрегатных функций А доказать это цифрами той же статистики слабо? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:26:25 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, и чем больше записей в таблице, тем сильнее разница по времени, нелинейно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:27:09 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Ага... Щас ТС скажет, что миллионы записей - это фантастика ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:27:44 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevВопрос не в синтаксисе запроса, а в том что, IMHO, процедуры тупого перебора по ключевому полю работают гораздо быстрее агрегатных функций для твоих объёмов данных пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:28:14 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, щас попробую тебе какие цифры? время исполнения запроса и процедуры? или анализ производительности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:30:34 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, откуда тебе знать про мои объёмы? Я привёл упрощённый пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:31:41 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, и тексты запросов и хп не забудь полные, а то пока какие-то псевдокоды видим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:32:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, значит анализируем запрос типа select b.name,sum(a.colvo*a.clv) from table2 a,table2 b where a.product_id=b.id group by 1 так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:35:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, извиняюсь select b.name,sum(a.clv*a.st) from table2 a,table2 b where a.product_id=b.id group by 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:36:21 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, снова извиняюсь select b.name,sum(a.clv*a.st) from table2 a,table1 b where a.product_id=b.id group by 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:37:28 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
и сюда же до кучи PLAN SORT и для сравнения - процедура с фетчем ОДНОЙ записи. чЮдненько. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:38:43 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
запрос этот оставим или перестроим? может join добавим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:44:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
пцнт упрт Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:48:25 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, ты текст процедуры давай. А также покажи план запроса и скажи какие индексы есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:48:45 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, лучше конечно через join. Да и запросы в теги Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 14:50:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevтебе какие цифры? время исполнения запроса и процедуры? или анализ производительности? Мне те цифры, которые выводит isql при set plan on; set stats on; Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:00:09 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, из IBExpert не пойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:02:29 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, пойдёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:03:01 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, только fetchAll нажимай! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:04:08 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 12 ноября 2013 г. 15:04:32: Симонов Денис> только fetchAll нажимай! сломал интригу. ирод. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:05:19 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevиз IBExpert не пойдёт? Нет, из Эксперта - не пойдёт. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:07:25 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
ну вот таблица 1 (PRODUCT, 96934 записей) Код: sql 1. 2. 3. 4. 5. 6. первичный ключ по CAT, ART таблица 2 (LOG, 2766727 записей) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. первичный ключ по PRODUCT_ID, NUM, NPP запрос Код: sql 1. 2. 3. 4. 5. Execute 8s968ms процедура Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Execute 172ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:18:13 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
голосую: убить. (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:20:49 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, Connect/Disconnect где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:21:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийголосую: убить. +1 И того, кто учил этого чудака писать запросы - тоже. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:22:48 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, а планы? А индексы где? А то можно подумать что у тебя даже PK в не в одной таблице нету. Да и скриншоты сюда публиковать не надо. SLebedev Код: sql 1. 2. 3. 4. 5. Запрос мегакривой! За where cat="BMW" поубивал бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:23:00 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, под планами ты имеешь в виду вот это? PLAN (PRODUCT INDEX (PRODUCT_IDX1)) PLAN JOIN (B ORDER PRODUCT_IDX4, A INDEX (LOG_IDX1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:25:57 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevCOLVO FLOAT, Гениально! Т.е. можно что типа 2,17542445 шт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:26:35 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, нет 0,15 кг, т.к. это краска, она приходит в кг, а расходуется в граммах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:28:46 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevпод планами ты имеешь в виду вот это? Я уже сказал: то, что выводит isql. IBExpert - не пойдёт. Но с тобой в принципе уже всё ясно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:29:13 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, структура кривая, запрос кривой, индексы ты так и не привёл. Версию сервера тоже не озвучил. Нафигачил какой-то строковый литерал в двойных кавычках. Эдак быстро не заработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:31:21 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЯ уже сказал: то, что выводит isql. для этого надо ещё знать где он находится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:33:11 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, FB 2.0 Classic PRODUCT кроме ПК имеет индекс по PRODUCT_ID LOG кроме ПК имеет индекс по PRODUCT_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:33:16 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, ты можешь DDL для всех индексов PK и FK привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:35:12 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, не знаю что такое DDL, но кроме ПК и индекса по PRODUCT_ID других индексов нет, FK тоже нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:37:45 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. Не делай так. Не надо этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:37:46 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Dmitry Kurbsky, а как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:39:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, а подумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:41:26 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Годный вброс, 2 страницы толчения воды в ступе. При движухе в пару-тройку мульонов записей нет таблицы опорных остатков? По любому road to hell как ни крути планы. Разве что выкурить тот план, глядишь наладится. Конструктива 0, топик явный кандидат на убой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:42:17 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Hello, Ivan_Pisarevsky! You wrote on 12 ноября 2013 г. 15:43:28: Ivan_Pisarevsky> Годный вброс, 2 страницы толчения воды в ступе. либо тролль неуклюжий, либо действительно ТАКОЙ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:44:32 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevСимонов Денис, не знаю что такое DDL, но кроме ПК и индекса по PRODUCT_ID других индексов нет, FK тоже нет http://ru.wikipedia.org/wiki/Data_Definition_Language В IB Expert у каждой таблички есть такая закладочка "Скрипт". В нём обычно помимо текста DDL таблицы есть такие сведения для всех её индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:44:38 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, дядя, какое опорные остатки? Это тебе 1С что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:44:44 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevIvan_Pisarevsky, дядя, какое опорные остатки? Это тебе 1С что-ли? "Хранимые агрегаты" тебе скажут больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:46:02 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE PRODUCT ( CAT VARCHAR(20) NOT NULL COLLATE PXW_CYRL, ART VARCHAR(20) NOT NULL COLLATE PXW_CYRL, PRODUCT_ID INTEGER NOT NULL, STATUS CHAR(1) DEFAULT 1 NOT NULL, NAME VARCHAR(255) COLLATE PXW_CYRL ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE PRODUCT ADD PRIMARY KEY (CAT, ART); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX PRODUCT_IDX1 ON PRODUCT (PRODUCT_ID); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:47:01 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE LOG ( PRODUCT_ID INTEGER NOT NULL, NUM INTEGER NOT NULL, OPERATION_ID INTEGER NOT NULL, CLIENT_ID INTEGER, SCLAD_ID INTEGER, OPERATOR_ID INTEGER, ST SMALLINT, NPP SMALLINT NOT NULL ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE LOG ADD PRIMARY KEY (NUM, OPERATION_ID, NPP); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX LOG_IDX1 ON LOG (PRODUCT_ID); CREATE INDEX LOG_IDX2 ON LOG (OPERATION_ID); CREATE INDEX LOG_IDX3 ON LOG (SCLAD_ID); CREATE INDEX LOG_IDX7 ON LOG (CLIENT_ID); CREATE INDEX LOG_IDX9 ON LOG (NUM); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:49:04 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedevкакое опорные остатки?"абнакнавеныя" Мимопроходящийлибо тролль неуклюжийпохоже, вот уже на фоне одинце выделиться хочет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:50:06 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
хрен бы ты мне эту лабу сдал, зайко Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:50:20 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, это клиника... Поможет только йад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:50:35 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Может ктонить детально подитожыт? А то я кроме трёпа, конструктива не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:56:23 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
SLebedev, Подытожим. Структура кривая, что такое foreign key не знаем, про суррагатные ключи ничего не слышали, индексы наплодили от балды, запросы писать не умеем. НЕЗАЧЕТ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 15:59:14 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1564148]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 458ms |

| 0 / 0 |
