всё работает но при выборки множества таблиц с возвратом результата строк в количестве ~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 написал(а):
А зачем так много? Мне кажется, нужно как то уменьшать...
Спустя 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()
Так же наверно не лишним будет 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 или мне тут по данному вопросу не смогут помочь ???