|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogУскорение чего? Как быстро запрос долетит до сервера? срочно читай, что такое sql query prepare, и переставай болтать ерундой ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:55 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
МимопроходящийТС - картонная дурилка. Возможно, ему действительно пора хорошенько выспаться. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:57 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogMemory buffers = 75 Хмммм.... и мегатонны запросов "дай мне вот эту запись! а теперь дай соседнюю! и ещё сто соседних" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:58 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
AriochХмммм.... Не придирайся. А то ещё заставишь его управление транзакциями переделывать и параметры лок-менеджера крутить. А он явно на данный момент на такую мозговую работу неспособен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:01 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
AriochdgdogНагрузка то на сервер не уменьшается. Сейчас параметрами шьет. ... либо решай радикально - избавляй сервер от этой работы вообще .... Ну а я в чем и прошу помощи))) Как бы одним запросом свалить нужную выборку ИЗ МОЕЙ БАЗЫ на клиента. Там разобрать и слить обратно только нужное. ВОт вопрос то ВО ЧТО слить? Ну не в текстовый же файл. Куда в память это можно засунуть... в какой компанент? Вообще в идеале чтоб до этого компанента можно было QUERY добраться (тогда вообще все в шоколаде) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:01 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, если к FB такие бестолковые запросы, то что говорить о других к "источникам данных"?.. Там лопатить всю систему надо и с нуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:02 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Hello, Dimitry Sibiryakov! You wrote on 25 июля 2016 г. 13:01:16: Dimitry Sibiryakov> Возможно, ему действительно пора хорошенько выспаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:02 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovdgdogПробовал и собирать строку и через параметры. А смысл? Нагрузка то на сервер не уменьшается. Значит плохо пробовал. Потому что от применения препарированных запросов нагрузка должна уменьшаться. В твоём случае - в 15 раз. Код показывай. Код: pascal 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:05 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА то ещё заставишь его управление транзакциями переделывать Кстати, да: аффтар, а не идёт ли там у тебя каждый запрос к серверу в отдельной транзакции?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:06 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А он явно на данный момент на такую мозговую работу неспособен. Во-первых подкрутка ОДНОГО параметра в конфиге - это далеко не изчение лок-менеджера. У него там 15 чтений из кэша и три с диска, однако.... Хотя если затык в процессоре, то это действительно не важно (если только винчестер в PIO-режим не свалился, или гипер-агрессивный анивирус не проверяет каждую страницу БД). Во вторых, на счет "не способен", я ещё на первой странице советовал AriochPS. За сумбурность извините, не спал, проект горит Таки пойти и лечь спать. Альтернатива - перестанешь понимать собственные действия и наворотишь второпях такого - что придется потом месяц разгребать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:06 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogform1.pfibquery4.SQL.Text:='select * from SDELKA where PP='+quotedstr(pp)+' and Prihod='+ summtmp+' and DATA='+quotedstr(datetostr( zapros_tab.Получить(y).Дата)) И в каком месте это использование параметров, чудак?.. PS: За звёздочку - отдельный ицых с гвоздями. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:08 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogDimitry Sibiryakovпропущено... Значит плохо пробовал. Потому что от применения препарированных запросов нагрузка должна уменьшаться. В твоём случае - в 15 раз. Код показывай. Код: pascal 1. 2. 3. 4.
ад и холокост... 1. приходы и даты бери не значениями а диапазонами, для каждого PP выбираешь диапазаоны - минимум и максимум 19450595 2. Текст запроса задается ОДИН раз, потом делается Prepare. При изменении значений любых параметров текст запроса не меняется. Вообще не меняется. Никогда. После изменения значений параметров повторнo запускаешь Open/ExecQuery не меняя текст. 3. FieldByName и PrepareByName делается ОДИН раз, после Prepare и никогда не повторяется внутри циклов, перебирающих строки 19450626 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:12 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Arioch3. FieldByName и PrepareByName ParamByName ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:14 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
AriochНадеюсь, запросы не текстом каждый раз наново формируются, а используют параметры и prepare ? Запутал конкретно))) Arioch... Prepare делаешь ? как минимум Prepare добавляет нагрузку серверу на каждый отдельный запрос ... Запутал. Но сути дело не меняет. Сейчас строкой формирую. Параметрами пробовал смысла не увидел. Про FieldByName и иже с ними понял. Подумаю как убрать из цикла... но суть не в этом. Хотя подумаю, да есть на запись все идет в таком виде Код: pascal 1.
Но до записи из 3000 проверенных-сверянных записей добирается 1-2. Не критично... остальные по If срезаются. Т.е. до этого места вооообще редко доходит дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:15 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog Запутал. Но сути дело не меняет. Сейчас строкой формирую. Параметрами пробовал смысла не увидел. Если ты текст запроса снова и снова перед каждым ExecQuery присваивал - то его и не будет. Тект запроса задается ОДИН раз для всех данных сразу. Потом делается prepare. Потом только меняются параметры не трогая текст запроса. остальные по If срезаются. Т.е. до этого места вооообще редко доходит дело. а в if-e у тебя что? такой же fieldbyname ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:18 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovdgdogУскорение чего? Как быстро запрос долетит до сервера???? Ускорение обработки запроса сервером. За счёт понижения нагрузки на ЦПУ, который, по твоим словам, и является у тебя бутылочным горлышком. Спасибо, не знал. Почитаю. Вечером попробую. Но пробовал на одном из вариантов Клиента, не видел разницы. Но блин попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:19 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogне видел разницы если у тебя нагрузка процессора уже сильно больше 100% - то ты ее и не увидишь, освободившуюся часть процессора просто возьмет другая задача такие есты надо проводить рпи загрузке чуть меньше 100% ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:23 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogне видел разницы. Учитывая приведённый образец кода, это вполне возможно. Особенно, если он (говнокод) крутится на том же компьютере, что и Firebird. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:24 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPS: За звёздочку - отдельный ицых с гвоздями. в коде типа "form1.pfibquery4" редко случается что-то другое.... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:24 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog Практически так оно и есть. Запускается десять разных клиентов которые тащат конкретные данные из конкретных источников. Но мне каждую строчку надо сверить с моей базой. Они наваливаются разом ... и привет ЦП. Логика проверки вся на клиенте. В Firebird у меня мозгов не хватит все перетянуть. ну раз так тебе стоит записаться на курсы повышения квалификации http://www.ibase.ru/courses/ ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:25 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Ariochdgdog, ... и i5 - дерьмо (вы русские есть очень много кушать!) и одного нового процессора не получишь, хотя фирма растёт на дрожжах и заела себе сотни новых компьютеров с базами данных на них странно это звучит вместе взятое Ээээ. Извини Человек. Не думал, что так все в штыки. Рабочий сервер Xeon E5620 2.400 Гг 2Гб оперативки. Виртуальный сервер который выделил админ. Больше не даст ни кусочка. I5 Это мой нубук на котором ставлю все эксперименты. И Xeon и I5 Уходят в 100% загрузку. Нет, я могу запускать импорт из баз не с 10, а с 5 одновременно и тогда забиваю ЦП скачкообразно и бухи могут работать, но тогда импорт длится 3-5 часов. Вопрос процессором не решить. Моя база не была важной для конторы до последнего времени, поэтому о железе специально под нее никто не думал. Да и не в железе дело. Косяк в проектировании. Походу Delphi-стам надо вопрос переадресовать чтоли? Чего на клиент накрутить, чтобы туда кусок таблицы выгрузить и обращаться к данным. (текстовый файл не подходит) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:28 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAriochХмммм.... Не придирайся. А то ещё заставишь его управление транзакциями переделывать и параметры лок-менеджера крутить. А он явно на данный момент на такую мозговую работу неспособен. Да я собственно в Firebirde только в 2002м проектировал чето... дипломы студентам и т.п. Ну и вот в 2014 чето эту халтурку слепил. Им на время надо было... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:30 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog Чего на клиент накрутить - знания и понимание. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:31 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogРабочий сервер Xeon E5620 2.400 Гг 2Гб оперативки. Виртуальный сервер который выделил админ. Больше не даст ни кусочка. это ни разу не сервер, а говно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:31 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogРабочий сервер Xeon E5620 2.400 Гг 2Гб оперативки. Виртуальный сервер который выделил админ. Больше не даст ни кусочка. I5 Это мой нубук на котором ставлю все эксперименты. это не так ещё есть упомянутые тобой несколько сотен БД - а значит и несколько сотен комьютеров, на которых те БД работают ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 13:32 |
|
|
start [/forum/topic.php?fid=40&msg=39279614&tid=1561790]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 482ms |
0 / 0 |