2012-03-19 3 views
2

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 51 bytes) in C:\xampp\htdocs\project\App\library\PEAR\MDB2\Driver\mysql.php on line 1160Фатальная память ошибок из-за исчерпания во время выполнения

У меня есть большая БД (1,5 ГБ), и я придумываю эту ошибку, когда пытаюсь выполнить поиск по БД для получения информации. Я понятия не имею, как это разрешить? Спасибо, если кто-нибудь может помочь. :-)

+2

Показать код как искать? – xdazz

+0

Размер db не должен иметь значения вообще, если вы не сосать все содержимое БД на PHP и искать на PHP, что вызывает вопрос ... почему? –

+0

@Marc B, вы сделали правильную догадки в текущей БД, которую я использую: -D. Этот проект - это то, что люди хотят, чтобы я учился, я понятия не имею, почему они это делают. –

ответ

3

Appart от некоторых сумасшедших петель, которые вы могли бы выступать на вашем коде наиболее простой причине вы можете получать эту ошибку, если вы полностью пренебрегая использование базы данных и пытается загрузить все в PHP.

Но это было бы сумасшедшим! :)

Если база данных выбора является SQL на основе попробовать что-то вроде:

SELECT * 
(...) 
LIMIT 20 // to get the first xx results only 

Как примечание стороны, это здорово, что вы изучаете с большой базой данных, так как большинство начинающих ошибок (например, не индексирование таблиц и вещей сразу же станет очевидным).

+3

Спасибо, я всегда получаю лучшие ответы от истинных профессионалов здесь. :-) –

+0

Кроме того, я бы хотел добавить, PHP не предназначен для крупномасштабных вычислений (например, для поиска в таблице 1,5 ГБ), однако SQL идеально подходит для работы. Сделайте поиск в MySQL и получите ограниченный набор результатов, возвращаемый PHP. –

Смежные вопросы