|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Arioch... тогда прав Мимопроходящий... А ты сможешь припомнить, когда МП был не прав? :-)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 15:37 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Arioch... и просто надо брать попкорн и смотреть как один тролль всех этих умников кругами гоняет. Ээээ))) Парни, парни! Хорошь стебаться. Попкорн им подавай. Мож еще с пивом усядетесь перед мониторами в понедельник то))) Короче 1024 буфера привели (а еще один из запросов переписал в препаре) к загрузке всех баз вместо 40 минут к 30 минутам. Да существенно. Спасибо за советы. Но пиковой загрузки сервера это не решило (конечно, ктоб сомневался) Памяти во время загрузки из двух гиг ел 360-380 мб... пик 421 мб. И всё) Процессоры все 4 на 100% Хмммм... почему-то просел этот запрос Код: pascal 1. 2.
авторPlan PLAN JOIN (T1 NATURAL, T2 SDELKA ORDER SDELKA_IDX3 INDEX (SDELKA_IDX3)) Adapted Plan PLAN JOIN (T1 NATURAL, T2 SDELKA ORDER SDELKA_IDX3 INDEX (SDELKA_IDX3)) ------ Performance info ------ Prepare time = 16ms Execute time = 78ms Avg fetch time = 4,33 ms Current memory = 17 712 512 Max memory = 17 882 200 Memory buffers = 1 024 Reads from disk to cache = 978 Writes from cache to disk = 0 Fetches from cache = 156 920 Вот эта строчка это нормально? Все сдаюсь ( на сегодня) Хотя если бессоница опять придет выползу из дома на IBase. ВСЕМ СПАСИБО ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:06 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog...Процессоры все 4 на 100% ... Процессоры ;-) Все четыре :-))) Ядра имел ввиду. Все. Все... нафиг базу, на сегодня))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:09 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog Код: sql 1.
а вот такой запрос, кстати, ЕМНИП в 2.5 уже не пройдёт ибо если ты уж начал ярлыки давать - так давай всем и перед ind2 тоже должно стоять t2 либо t1 если не путают, конечно с другим похожим исправлением ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:10 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Hello, Arioch! You wrote on 25 июля 2016 г. 16:12:02: Arioch> в 2.5 уже не пройдётс чего бы? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:12 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Arioch, он не пройдёт только если этот филд одновременно есть у t1 и t2. Хотя лучше конечно всегда дописывать имя таблицы (алиаса) в запросах которых более 1 таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 16:14 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ребята, а вот подскажите если кому делать нефиг: Значит кинулся переписывать Query под параметры а у меня вот так begin БОЛЬШОЙ ЦИКЛ (ну пербираю базы) begin цикл пербора "расходных сделок" Код: pascal 1. 2. 3. 4. 5.
end цикл пербора "расходных сделок" begin цикл пербора "прибыльных сделок" Код: pascal 1. 2. 3. 4. 5.
end "прибыльные сделки" end БОЛЬШОГО ЦИКЛА Т.е. я 4 раза использую pfibquery4 с разными запросами внутри большого цикла. И как быть с параметризацией? Заводить 4 разных Query??? Или? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:11 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogЗаводить 4 разных Query??? думаешь, на форме они все не удержатся и попадают вниз? зы. quotedstr(String(pp)) ты так на параметры и не заменил... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:18 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogЗаводить 4 разных Query??? Да. Но не вижу зачем их четыре: запросы к FULLTABLE идентичны. И я же сказал: убери напрочь звёздочку. Она может тормозить больше чем всё остальное вместе взятое. Выбирай только те поля, которые абсолютно необходимы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:36 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ДокdgdogЗаводить 4 разных Query??? думаешь, на форме они все не удержатся и попадают вниз? зы. quotedstr(String(pp)) ты так на параметры и не заменил... да удержатся конечно))) я думал чем меньше компонентов, тем меньше памяти пожру. Учился на 486х))) Привычка мать ее. вот тут не понял "зы. quotedstr(String(pp)) ты так на параметры и не заменил..." так менять на параметры - ВСЕ или ничего. Я так с сонных шар вкурил что: Prepare дает реальное преимущество. Сервер строит Plan и держит его в кэше до следующего выполнения подобного запроса Query. Логично. Больше не тратим времени на построение Плана. Мне нравится идея))) В принципе только сейчас понял о какой прибавке к производительности толковал Arioch . Теперь бы применить правильно... и не запутаться в замене pFibQuery4. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:14 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovdgdogЗаводить 4 разных Query??? Да. Но не вижу зачем их четыре: запросы к FULLTABLE идентичны. И я же сказал: убери напрочь звёздочку. Она может тормозить больше чем всё остальное вместе взятое. Выбирай только те поля, которые абсолютно необходимы. "Не ори на мать!" ;) Все поля... все, все, все поля нужны. Заменить звездочку на перечень всех полей? Получу бонусы? (если можешь ответь, нет значит буду посвободней порою инфу по этому поводу) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:17 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogвсе, все, все поля нужны. Зачем? Ты же только на уникальность проверяешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:20 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДа. Но не вижу зачем их четыре: запросы к FULLTABLE идентичны. Точна!!! Лоханка я!!! Три. А вот еще вопрос по параметризации. (Не догоняю) Занчит: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
Так как-то? На живой базе тяжко эксперементировать))) pfibquery4. Закрывается где-нибудь? т.е. pfibquery4.close или внутри цикла это не обязательно? Prepare - exec, Prepare - exec? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:33 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovdgdogвсе, все, все поля нужны. Зачем? Ты же только на уникальность проверяешь. А?! нет извини, я тебя в блуд ввел. Дальше логика проверки справочников, проверка на внесение уже такой проводки ручками с ВАРИАНТАМИ проверки на человеческий фактор... найдена В ПРИНЦИПЕ похожая проводка МАЯЧИМ бухгалтеру=отмечаем пусть сами разбираются "что это было? Дубль? Чистая проводка? Ошибка"... ну короче, сейчас это не суть и обрабатывается на клиенте, к серваку толком не лезет. Читсо получает в этом селекте все что нужно (а нужно все))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:39 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
авторТеперь бы применить правильно... и не запутаться в замене pFibQuery4. Лови простой пример. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:45 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
И опять же, раз пошла такая пьянка вот выполнил я pFibQuery Дальше у меня Код: pascal 1.
а на FieldByName в цикле Arioch ругается как компилятор при делении на ноль. И куда за цикл я это выкину? Или обращаться к номеру поля? pFIBQuery4.Fields[3].asString? так чтоли? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:47 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ЛюбезныйавторТеперь бы применить правильно... и не запутаться в замене pFibQuery4. Лови простой пример. Очень любезно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:50 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
И касательно FieldByName: если текст запроса препарируется и содержит перечисление полей, лучше обращаться к полю по индексу, а не через имя: Fields [0].AsString и.т.д. Тоже будет прирост производительности, пусть и не особо большой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:53 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogИ куда за цикл я это выкину? Забей пока. Это понадобится когда твоё приложение начнёт жрать больше ЦПУ чем сервер. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:55 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ТвоюБогаДушуМатьЧерезКоромыслоРастудытьТебяВКачель... да тут все... ВСЕ перепахивать надо. Дешевле выкинуть весь "импорт" и пересобрать модуль по новой. ((( беда. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 19:57 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
С самого начала нужно писать максимально просто, чтобы не путаться в коде. Разнес бы логику хотя бы на процедуры (пусть даже на вложенные) - тогда и тебе, и нам стало бы гораздо понятнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 20:03 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog, а еще лучше и экспорт дописать (как советовали ранее) с 1С-ки той же сделать обработкой выгрузку в текстовый файл, желательно единого формата с другими файлами... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 20:07 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ЛюбезныйС самого начала нужно писать максимально просто, чтобы не путаться в коде. Разнес бы логику хотя бы на процедуры (пусть даже на вложенные) - тогда и тебе, и нам стало бы гораздо понятнее. Да как это писалось? - А нам вот табличка нужна. Мы бы туда разносили. Простенькая. - Ладно. ... месяц - а вот нам бы суммы считать и формулы как в Ексели - ну ок. ...месяца два прошло - а можно чтоб из выгрузок банков само вставало. вот файлы из банков. - в принципе. Делать в выходные нечего... сделаю. ... прошло полгода - а вот. 1Сник сказал, что можно из 1С напрямую как-то перетаскивать... - угу. только я вообще не помню исходников, я там сам не разберусь уже... ... через месяц -Нам сводная нужна. ... - а сделай, чтоб мы сами новые 1Ски прикручивали... ... - а че так медленно? А выгрузку в ексцель? А вот директору форму с отчетом, чтоб он в вебе видел. ПС сейчас сижу смотрю на этого франкинштейна - это пи*дец. Какие-то невменяемые куски. Как ЭТО вообще работало 2 года... х.з. На некоторые вещи смотрю и хочется спросить "это вот точно Я писал да? Трезвый да?" Сам этой ж*пе не рад, но увольняться не вариант, только не сейчас. Херня, ребзя прорвемся ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 20:13 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
igs123dgdog, а еще лучше и экспорт дописать (как советовали ранее) с 1С-ки той же сделать обработкой выгрузку в текстовый файл, желательно единого формата с другими файлами... В 1С я полный NULL даже не ноль. 1Сник запрос дал. COMсоединением подрубаюсь, получаю данные. Если выгрузка будет делаться по кнопке(пользователем) то этого никто делать не будет ТОЧКА. Если выгружать опять же подрубаясь COMом и командуя 1С то смысла не вижу, напрямую получать данные или в из файла их брать. Если не прав или недопонял пните в нужную степь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 20:17 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogТвоюБогаДушуМатьЧерезКоромыслоРастудытьТебяВКачель... - Да-да, это реплика из лога FB. :-))) dgdog да тут все... ВСЕ перепахивать надо. Дешевле выкинуть весь "импорт" и пересобрать модуль по новой. ((( беда. О чём тебе и грили 3 страницы форума назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 20:24 |
|
|
start [/forum/topic.php?fid=40&msg=39279790&tid=1561790]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 400ms |
0 / 0 |