Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка и работа с 70.000 записями 
:(
    Опции темы
DimaSiK
Дата 2.10.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Работаю с Firebird. Как лучше работать с таким огромным количеством данных. Как организовывать выборку и навигацию по всем записям. ВЫбирать ли данные как-то странично?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
MoLeX
Дата 2.10.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(DimaSiK @  2.10.2008,  11:11 Найти цитируемый пост)
ВЫбирать ли данные как-то странично? 

а нам откуда знать выбирать тебе постранично или нет! ты уж сам определись пожалуйста


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
DimaSiK
Дата 2.10.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Если мне допустим нужно распечатать все 70.000 записей, то как быт ьв этом случае?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
MoLeX
Дата 2.10.2008, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



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


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Kesh
Дата 2.10.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



При работе с больщим количеством данных обращайте внимание на оптимальность выборки и количестве данных передаваемых по сети... Приемы оптимизации стандартные - выбирать и передавать только то, что нужно...

Вопрос в том, как вы собираетесь печатать...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
DimaSiK
Дата 2.10.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Мне иногда нужно выбрать 20.000, иногда все записи. Послеа этого как-то с ними работать, возможно запихнуть в сессию, а потом обратно их закинуть в БД. Все это нагружает приложения до безобразия и оно очень медлено работаетю Иногда вылетает ексепшин по переполнению памяти.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
bars80080
Дата 2.10.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



вот хоть убей, не вижу в этом смысла. неужели во всех 20000 записях вносятся уникальные изменения, которые нельзя систематизировать и изменить с помощью нескольких управляющих значений?
PM MAIL WWW   Вверх
Kesh
Дата 2.10.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



DimaSiK, Делайте постраничный вывод... Скажем по 50 записей...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Nigel
Дата 2.10.2008, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



А можно узнать задачу, где необходим вывод 20.000 записей сразу?
PM MAIL   Вверх
krundetz
Дата 2.10.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



DimaSiK, упомянутая тобой СУБД может держать и несколько миллионов записей в базе данных и спокойно с ними работать.

Вопрос в ограничениях PHP. Он просто не предназначен для работы с таким обемом данных. Собственно для хранения данных и нужна СУБД, а скрипты нужны для управления работой СУБД, они должны сказать какие данные и как изменить, а уже изменять их можно при помощи СУБД. В общем думаю у тебя ошибка в области реализации задачи. Прежде всего определись а зачем извлекать сразу столько данных?


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DimaSiK
Дата 3.10.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Допустим мне нужно вывести все данные из БД в файлик csv или xml формата для дальнейшего экспорта.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
bars80080
Дата 3.10.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(DimaSiK @  3.10.2008,  16:58 Найти цитируемый пост)
Допустим мне нужно вывести все данные из БД в файлик csv или xml формата для дальнейшего экспорта. 

это вопрос?
вывод делается просто fopen($file,'w'); fwrite(); что в первом, что во втором случае

а причём здесь правка 20000 записей одновременно?
PM MAIL WWW   Вверх
Nigel
Дата 3.10.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



Цитата(DimaSiK @ 3.10.2008,  16:58)
Допустим мне нужно вывести все данные из БД в файлик csv или xml формата для дальнейшего экспорта.

Экспорт в файл для дальнейшего экспорта? По-моему, бредово звучит..
Для записи данных из бд в файл используется  SELECT ... INTO OUTFILE
PM MAIL   Вверх
krundetz
Дата 3.10.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата(DimaSiK @ 3.10.2008,  16:58)
Допустим мне нужно вывести все данные из БД в файлик csv или xml формата для дальнейшего экспорта.

А в чем сдесь сложность? Берешь получаешь все данные и записываешь их все в файл в нужном тебе виде. Если боишся что возможна нехватка памяти возми и запиши данные в несколько приемов. Тоесть сначала записываешь допустим 5000 данных в файл потом еще 5000 и т.д. пока все данные не будут записаны в файл. Сложность возможна только в том случае если у тебя все операции не будут укладываться во время отведенное для работы скрипта по умолчанию(30 секунд) и не будет возможности это время увеличить.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DimaSiK
Дата 4.10.2008, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



[QUOTE=krundetz,3.10.2008,  23:11]
Цитата(DimaSiK @ 3.10.2008,  16:58)
Сложность возможна только в том случае если у тебя все операции не будут укладываться во время отведенное для работы скрипта по умолчанию(30 секунд) и не будет возможности это время увеличить.

Да именно в этом и есть сложность. Вермя увы увеличить нельзя. 


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.