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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос или работа с файлом. 
V
    Опции темы
Predator199
Дата 12.11.2012, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -3
Всего: -4



Когда писал скрипт, старался сделать все поминимому. Есть табл в ней новости, создаю кеш и работаю с файлом.
Вопрос :если в табл 50 тыс записей, файл будит наверно около 4мб. Стоит ли таким методом пользоваться(каждый раз подгружать 4 мб) или сделать еще один запрос к бд и убрать кеширование?

Это сообщение отредактировал(а) Predator199 - 12.11.2012, 20:45
PM MAIL   Вверх
skyboy
Дата 13.11.2012, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



у тебя выводятся сразу все 50 тысяч записей? что это за кеширование — сохранить все, даже то, что не будешь выводить?
PM MAIL   Вверх
Aliance
Дата 13.11.2012, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



o_O как я понял тс вообще просто перенес данные из бд в файл.
PM MAIL WWW ICQ Skype   Вверх
Predator199
Дата 13.11.2012, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -3
Всего: -4



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

Это сообщение отредактировал(а) Predator199 - 13.11.2012, 12:09
PM MAIL   Вверх
Aliance
Дата 13.11.2012, 13:02 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Правильно ли я понимаю: тс лень лазать по папкам в поиске названия функции, чтобы отвечающим было в принципе понятно о чем вообще идет речь, но при этом отвечающим должно быть не лень тратить свое время, давай совет незнакомому человеку за бесплатно?

Ну что ж, удачи в ожидании альтруистов  smile 
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 13.11.2012, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Predator199 @  13.11.2012,  11:08 Найти цитируемый пост)
Не я их пропускаю через унсерилиз, толком не помни функ и лазать по папкам лень.
Подгружаю файл, через массив вывожу ну ,а там через конструкцию фильтрую.

то есть, все-таки, выгружаешь в файл из БД, а потом фильтруешь данные уже из файла.
вопрос: зачем?
не поверю, что на 50 000 ты сам не заметил разницы между работой с БД(индексы, подгрузка в память) и фильтрацией файла(когда все 50 000 × средний размер новости ~ 50Mb оказываются в памяти одновременно)
з.ы. "за бесплатно" — не напряжно, а вот "подскажите, а мне вот лень" — напрягает, да
PM MAIL   Вверх
Predator199
Дата 15.11.2012, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -3
Всего: -4



Суть такова. Мне нужно соединиться с удаленным сервером. Таких серверов много, поэтому я заношу в кеш(в файл, пропускаю через serialize) и выставляю крон. 
Такой метод будит лучше использовать:
Узнаем информацию о сервере, пропускаю через serialize и не в файл, а в отдельную ячейку(бд, сервера). А там вытаскивать данные о сервере.
Тогда получится следующее: 1000 серверов-1000 update запросов за раз.

Как лучше, можно ли 1 запросом за место 1000 ?

Это сообщение отредактировал(а) Predator199 - 16.11.2012, 16:40
PM MAIL   Вверх
Arantir
Дата 19.11.2012, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


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

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



Таких длинных запросов ни один сервер не примет =) Создай дамп на любом sql-сервере и увидишь, что там запросы и те покучкованы всего по несколько штук в одном, и это как бы почти самый оптимальный вариант.

Файл с 50000 записей будет обрабатываться дольше, чем выбрать с базы 50000 строк.
Зачем (скорее даже "нафига") 50000 строчек новостей в файле?! Соединение с базой данных на localhost (том же сервере) чуть ли не моментальное, поиск в 1000000 строк - доля секунды, выборка 1000 записей - доля секунды. 

1000 update'ов на локальную базу данных - это сущие пустяки.
Я восстанавливал дамп с 1,5 миллионов запросов, и это занимало минут 25, по 1 миллисекунде на запрос.  Конечно же, зависит от мощности сервера, но все же при локальном соединении с базой она неимоверно резвая.

Это сообщение отредактировал(а) Arantir - 19.11.2012, 18:31


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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