Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];

Вниз

результат запроса в массив   Найти похожие ветки 

 
balepa   (2008-11-21 14:49) [40]

по поводу excel"a: в excel будут передаваться не все 480000, а только те которые нах в промежутке datea-dateb и в зависимости от промежутка м/у датами,не повсем параметрам а по выбраным в разные таблицы и только по запросу пользователя
про сетку: выдернул сетевой кабель


 
balepa   (2008-11-21 14:54) [41]

я понял всю бредовость мо3й затеи и думаю сделать передачу данных клиентам через сокеты, а базу оставил для случая описаного в предыд7щем посте


 
Сергей М. ©   (2008-11-21 15:02) [42]


> про сетку: выдернул сетевой кабель


Т.е. ты проделал следующее

Query.Active := True;
// <- здесь ты "выдернул сетку"
MyValue := Query.Fields[n].Value;
ShowMessage("Урааа ! Я вижу это сгообщение и верю в то, что в этот момент мой клиент загрузил все 60000 записей и сервер больше не нужен !");

Так ?


 
Сергей М. ©   (2008-11-21 15:04) [43]


> думаю сделать передачу данных клиентам через сокеты


А MySQL-сервер с твоим MySQL-клиентом, по-твоему, сейчас через шмокеты общается, потому и "тормоза" ?)


 
balepa   (2008-11-21 15:19) [44]

Сергей М. ©   (21.11.08 15:02) [42]
Да.

Сергей М. ©   (21.11.08 15:04) [43]
мне будет проще передать массив байт через сокеты чем мучаться с запросами.


 
Сергей М. ©   (2008-11-21 15:50) [45]


> balepa   (21.11.08 15:19) [44]
> [42]
> Да.


А на самом-то деле это совсем не так.
То что ты успешно обратился к 1-й записи, вовсе не говорит загруженности всех записей.


> проще передать массив байт через сокеты


Это как ?


 
balepa   (2008-11-21 15:55) [46]

Сергей М. ©   (21.11.08 15:50) [45]

> balepa   (21.11.08 15:19) [44]
> [42]
> Да.

А на самом-то деле это совсем не так.
То что ты успешно обратился к 1-й записи, вовсе не говорит загруженности всех записей.
Не к первой, а к 6000. Просто сразу не посмотрел что цикл в результате всяческих экспериментов был установлен 6000.

> проще передать массив байт через сокеты

Это как ?

TSocket, Indy


 
Сергей М. ©   (2008-11-21 16:41) [47]


> сразу не посмотрел что цикл


Какой нафих цикл ?
Где в коде в [42] ты видишь цикл ?


> Не к первой, а к 6000


И что ?
С чего ты взял, что 6001-я запись и все последующие вплоть до последней загружены ?


> TSocket, Indy


И каким же образом ты с их помощью (без использования SQL-запросов !) намерен обратиться к БД под управлением MySQL ?

Данные-то, которые ты собрался в массив перегнать, лежат именно там, и достать их оттуда можно только передав MySQL-серверу запрос и получив результат ..


 
balepa   (2008-11-21 18:52) [48]

Сергей М. ©   (21.11.08 16:41) [47]
> сразу не посмотрел что цикл
Какой нафих цикл ?
Где в коде в [42] ты видишь цикл ?

Так я с сотки писал и как-то ломы было.
А на самом деле так:



 ZReadOnlyQuery1.SQL.clear;
 ZConnection1.Connect;
 s:= "SELECT dt,pnp,znach FROM bl12009 WHERE ((pnp=1) AND (dt BETWEEN "+"""2008-11-17 9:00:00"+""" AND "+"""2008-11-18 9:00:00"+"""));";
 ZReadOnlyQuery1.SQL.Add(s);
 ZReadOnlyQuery1.Active:= true;
 k:= ZReadOnlyQuery1.RecordCount;
 SetLength(_ldt,k*sizeof(Variant));
 SetLength(_lzn,k*sizeof(Variant));
 ZReadOnlyQuery1.First;
 for i:= 0 to k-1 do begin
   _ldt[i]:= ZReadOnlyQuery1.Fields[1].Value;
   _lzn[i]:= ZReadOnlyQuery1.Fields[2].Value;
   ZReadOnlyQuery1.Next;
   Gauge1.Progress:= Round(i/k*100);
 end;
 ZReadOnlyQuery1.Active:= false;
 ZConnection1.Disconnect;


> Не к первой, а к 6000
И что ?
С чего ты взял, что 6001-я запись и все последующие вплоть до последней загружены ?

Так по недосмотру.


> И каким же образом ты с их помощью (без использования SQL-
> запросов !) намерен обратиться к БД под управлением MySQL
> ?
>
> Данные-то, которые ты собрался в массив перегнать, лежат
> именно там, и достать их оттуда можно только передав MySQL-
> серверу запрос и получив результат ..

Так, как говориться переделать пока только практически теоретическую серверную часть религия не запрещает ).
А БД останется только для передачи в Excel по запросу пользователя и хранения данных, а там высокая скорость не требуется.


 
Сергей М. ©   (2008-11-21 18:58) [49]


> Так я с сотки писал


Понятно.
Чукча не читатель, чукча - писатель.


> практически теоретическую серверную часть


О Боже, упаси юзеров от встреч с таким вот Балепой !


 
balepa   (2008-11-21 19:20) [50]

Сергей М. ©   (21.11.08 18:58) [49]
> Так я с сотки писал
Понятно.
Чукча не читатель, чукча - писатель.
> практически теоретическую серверную часть
О Боже, упаси юзеров от встреч с таким вот Балепой !

Пока никто не жаловался. Просто сделал пока для экспериментов программку которая кидает по 800 записей/с в БД.
В данный момент реализовано на файлах, т.е. все что надо скидывается в файлы, а с них уже клиентские программы считывают то что им нужно. А я тут решился переделать что бы обойтись без файлов (а то последнее время часто доступов до них нет иногда по 1 минуте, а это ни есть хорошо) и первая мысль была о какой нибудь БД, а теперь сокеты ).


 
Сергей М. ©   (2008-11-21 21:13) [51]


> Пока никто не жаловался


Пока , значит, пронесло)


 
Slym ©   (2008-11-22 09:08) [52]

balepa   (21.11.08 18:52) [48]
SetLength(_ldt,k*sizeof(Variant));

это чЁ? как массивы объявлены?

ZReadOnlyQuery1.Fields[1].Value
если нужна макс скорость можно вынести за цикл F1:=ZReadOnlyQuery1.Fields[1];
...
_ldt[i]:= F1.Value;

Gauge1.Progress:= Round(i/k*100);
а тормоза вот тут :)



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.009 c
15-1243963751
AlexDan
2009-06-02 21:29
2009.09.20
Ещё тут одна мечта идиота сбылась..


2-1247757748
antonn
2009-07-16 19:22
2009.09.20
как глянуть строку с AV в DLL? :)


1-1215171753
asafr
2008-07-04 15:42
2009.09.20
InterBase и FreeLibrary


15-1248413989
Художник
2009-07-24 09:39
2009.09.20
Функции в fpc


1-1215414362
Zhentos
2008-07-07 11:06
2009.09.20
Зависимость координат изображения от координат компонента.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский