[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: select с кол-вом строк ~1000
mouserok
Добрый ...

всё работает но при выборки множества таблиц с возвратом результата строк в количестве ~1000 rows (работа с массивом)
результаты не возвращаются а если возвращаются то через раз

возможно где-то нужно подкрутить настройки PHP ??



Спустя 3 минуты, 4 секунды (3.09.2010 - 15:47) ApuktaChehov написал(а):
Ничего не понял. Вы хотите в select запихнуть 1000 строк?

Спустя 53 секунды (3.09.2010 - 15:48) waldicom написал(а):
Цитата (ApuktaChehov @ 3.09.2010 - 14:47)
Ничего не понял. Вы хотите в select запихнуть 1000 строк?

Не, там вроде запрос отдает более 1000 строк.

Спустя 48 секунд (3.09.2010 - 15:49) ApuktaChehov написал(а):
blink.gif
А зачем так много? Мне кажется, нужно как то уменьшать...

Спустя 2 минуты, 38 секунд (3.09.2010 - 15:51) mouserok написал(а):
да, селект возвращает ~1000 строк и они все необходимы

Спустя 1 минута, 17 секунд (3.09.2010 - 15:53) Семён написал(а):
Запрос покажите. и что потом делаете.

Спустя 3 минуты, 8 секунд (3.09.2010 - 15:56) ApuktaChehov написал(а):
Т.е. необходимы 1000 строк для каких то манипуляций с ними. Может как то последовательно что ли... Типа на первом этапе, только то что нужно выбрать на втором еще что то. Неужели одновременно задействуются 1000 строк? Или же они просто нужны в одном скрипте?

Я к тому, что может быть, можно грузить частями.

Спустя 2 минуты, 1 секунда (3.09.2010 - 15:58) mouserok написал(а):
echo "<table class='sort' border=1 width=100% align=center>\n";
foreach($conn_SRV as $ServName => $conn)
{
$result = sybase_query("select TBL_date, TBL_time, TBL_db, TBL_name, TBL_total from oper..TBL_space_prep", $conn);
$selected = sybase_num_rows($result);
if($selected == 0)
{
echo "С сервера <strong>".$ServName."</strong> не прошел SELECT <br>";
}
while ($data = sybase_fetch_assoc($result))
{
sybase_query("insert into oper..TBL_space (TBL_date, TBL_time, TBL_srv_name, TBL_db, TBL_name, TBL_total) values ('".$data['TBL_date']."', '".$data['TBL_time']."', '".$ServName."', '".$data['TBL_db']."', '".$data['TBL_name']."', ".$data['TBL_total'].")", $conn_SUMPF);
}

}

echo "</table>\n";

Спустя 22 минуты, 2 секунды (3.09.2010 - 16:20) mouserok написал(а):
хм ... смотрю ща на то что он почему-то смог обработать только первых 8 из массива

$conn_SRV = array();
$conn_SRV['SRV1'] = $conn_SRV1;
$conn_SRV['SRV2'] = $conn_SRV2;
$conn_SRV['SRV3'] = $conn_SRV3;


остальные почему-то не сработало ...

есть точно такая же схема но работает с меньшим количеством возврата строк

может где-то КЭШ забивается или что-то в этом роде ??

Спустя 32 минуты, 16 секунд (3.09.2010 - 16:52) mouserok написал(а):
коннекты закрываю после всех циклов может тут как-то прогадал (но с маленькими значениями было всё норм.) ... если поможет то в табл. зашло 17675 строк

Спустя 39 минут, 5 секунд (3.09.2010 - 17:31) Nikitian написал(а):
Для больших объёмов получаемых данных используйте функцию sybase_unbuffered_query()
Так же наверно не лишним будет sybase_free_result()

Спустя 11 минут, 25 секунд (3.09.2010 - 17:43) mouserok написал(а):
да. СПСАСИБО ... помогло ... а этот буфер как-то увеличить можно???

Спустя 10 минут, 42 секунды (3.09.2010 - 17:53) mouserok написал(а):
поторопился с выводами

с
sybase_unbuffered_query()

не работает

с
sybase_free_result()


просто не пишет ошибку ((

Спустя 2 дня, 16 часов, 51 минута, 12 секунд (6.09.2010 - 10:45) mouserok написал(а):
нашел что sybase_unbuffered_query()

Цитата
Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.


ЭТО КАК ???

Спустя 1 час, 56 минут, 18 секунд (6.09.2010 - 12:41) mouserok написал(а):
нужно создать тему на то как подключить Sybase библиотеки CT или мне тут по данному вопросу не смогут помочь ???
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.