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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> чтение из большого txt файла 
:(
    Опции темы
RaZoR
Дата 22.6.2004, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



у меня есть скрипт гостевой книги(http://filmoscope.h12.ru/guest/), так вот если там много записей, то скрипт выполнятеся долго.. сейчас у меня 13 записей в гуесте и время генерации скрипта ~0,2 сек.. а если их будет штук 100?? у меня возникла идея.. посты выводятся постранично(10 штук на страницу) и можно ли как-нибудь сделать считывание не всего файла(вместо file() что-либо другое), а только нужные 10 строк? к примеру если записей 25, то когда первая страница, то последние 10 строк, если 2 страница, то с 5 по 15, а если 3-я, то первые 5 строк.. это реально? или так еще дольше? или еще какие варианты есть?
PM MAIL ICQ   Вверх
Secandr
Дата 22.6.2004, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

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



Есть три варианта:
1. использовать mysql
2. использовать fopen, а новые сообщения писать в начало файла.
3. разбивать данные на файлы по 20 записей.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
RaZoR
Дата 22.6.2004, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



1. пока отпадает, т.к. не знаю как с ней работать..
2. да, для всех страниц это будет быстрее, но для последней страницы будет тоже самое, хотя это мысль...
3. я думаю это выход, но неудобно.. если нужно к примеру удалить какой-нить пост из середины? тогда все менять..
PM MAIL ICQ   Вверх
Ignat
Дата 22.6.2004, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

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



За то время, пока будешь мучать файловую гостевуху, можешь выучить основы mysql, поверь. Для гостевухи хватит знать четырех запросов SELECT, INSERT, UPDATE, DELETE. Хотя можно обойтись и без UPDATE. А, ну еще CREATE table.

Это сообщение отредактировал(а) Ignat - 22.6.2004, 20:42


--------------------
Теперь при чем :P
PM   Вверх
RaZoR
Дата 22.6.2004, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



возможно и так.. скоро собираюсь учить.. но в данном случае мне нужно решение именно этой проблемы.. с файлами..
PM MAIL ICQ   Вверх
Secandr
Дата 22.6.2004, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

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



RaZoR
пиши свою СУБД.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Chuck
Дата 22.6.2004, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Сушня
**


Профиль
Группа: Эксперт
Сообщений: 442
Регистрация: 12.12.2003
Где: Узбекистан, Ташке нт

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



Не понимаю тебя дружище, у меня на хостинге был скрипт гостевой на файлах и ничего не тормозила, сейчас там записей 40-50, многие удаляются из-за похабностей, но ничего не тормозит!
Может ты криво скрипт написал??? Кинь ка его сюда, может там страшные циклы??? smile.gif)))
PM MAIL WWW GTalk   Вверх
IZ@TOP
Дата 22.6.2004, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Ага, точняк... если у тебя каждео сообщение не весит кило по 100. У меня 10MByets файл читался за 1 сек и выводился (а это в среднем 10 000 записей).


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 23.6.2004, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



ИМХО

Максимально простое рещение в рамках заявленных знаний:
1) помещение каждой записи в отдельный файл либо группы записей для одной страницы вывода в отдельный файл;
2) созздание индексного файла с именами-ссылками на файлы записей.

Тогда при каждом запросе читается и парсится индекс-файл - а он маленький - и один файл записей либо только те файлы записей, которые войдут в формируемую страницу.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Secandr
Дата 23.6.2004, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

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



Akina
вот я и говорю писать свою субд.
Ещё возникают проблемы с редактированием, нужно будет постояно переписывать индексный файл,....


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
RaZoR
Дата 23.6.2004, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



да нет.. скрипт нормальный.. вначале идет считывание из файла и разделение по ячейкам, потом в шаблоне заменяется к примеру @message@ на сообщение и все.
PM MAIL ICQ   Вверх
Akina
Дата 23.6.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Secandr
Цитата
возникают проблемы с редактированием, нужно будет постояно переписывать индексный файл,....

Для случая "одна запись - один файл" в случае индексного файла со строками постоянной длины - никаких проблем... выверт а-ля deleted record в DBF. fopen(..."rb") + fseek - забиваем чисельный индекс пробелами-звездами-чем хотим...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

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


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

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



одна запись - один файл - это чрезвычайно не эффективно. Если записи 10-15 байт, а кластеры по 1кб , то информация будет занимать 500-900% от настоящего объёма.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Akina
Дата 23.6.2004, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Конечно. Однако нежелание автора изучить мускул провоцирует на использование заведомо неоптимальных по другим параметрам решений.

И вообще - чего это мы? Жуем тут прописные истины...

Кстати, при таком способе хранения (одна запись - один файл) рационально хранить в этом файле все необходимое ХТМЛ-форматирование. А это уже не 15 байт smile.gif


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RaZoR
Дата 23.6.2004, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



все, потестил я скрипт на больших файлах.. результат меня устраивает.. удивительно то, что скрипт работает практически одно и то же время с 10 записьями и с 10000 записями.. ~0,2 секунды.. вполне нормальный результат я считаю
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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