![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Predator199 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 412 Регистрация: 1.2.2012 Репутация: -3 Всего: -4 |
Когда писал скрипт, старался сделать все поминимому. Есть табл в ней новости, создаю кеш и работаю с файлом.
Вопрос :если в табл 50 тыс записей, файл будит наверно около 4мб. Стоит ли таким методом пользоваться(каждый раз подгружать 4 мб) или сделать еще один запрос к бд и убрать кеширование? Это сообщение отредактировал(а) Predator199 - 12.11.2012, 20:45 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
у тебя выводятся сразу все 50 тысяч записей? что это за кеширование — сохранить все, даже то, что не будешь выводить?
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
o_O как я понял тс вообще просто перенес данные из бд в файл.
|
|||
|
||||
| Predator199 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 412 Регистрация: 1.2.2012 Репутация: -3 Всего: -4 |
Не я их пропускаю через унсерилиз, толком не помни функ и лазать по папкам лень.
Подгружаю файл, через массив вывожу ну ,а там через конструкцию фильтрую. Это сообщение отредактировал(а) Predator199 - 13.11.2012, 12:09 |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Правильно ли я понимаю: тс лень лазать по папкам в поиске названия функции, чтобы отвечающим было в принципе понятно о чем вообще идет речь, но при этом отвечающим должно быть не лень тратить свое время, давай совет незнакомому человеку за бесплатно?
Ну что ж, удачи в ожидании альтруистов |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
то есть, все-таки, выгружаешь в файл из БД, а потом фильтруешь данные уже из файла. вопрос: зачем? не поверю, что на 50 000 ты сам не заметил разницы между работой с БД(индексы, подгрузка в память) и фильтрацией файла(когда все 50 000 × средний размер новости ~ 50Mb оказываются в памяти одновременно) з.ы. "за бесплатно" — не напряжно, а вот "подскажите, а мне вот лень" — напрягает, да |
|||
|
||||
| Predator199 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 412 Регистрация: 1.2.2012 Репутация: -3 Всего: -4 |
Суть такова. Мне нужно соединиться с удаленным сервером. Таких серверов много, поэтому я заношу в кеш(в файл, пропускаю через serialize) и выставляю крон.
Такой метод будит лучше использовать: Узнаем информацию о сервере, пропускаю через serialize и не в файл, а в отдельную ячейку(бд, сервера). А там вытаскивать данные о сервере. Тогда получится следующее: 1000 серверов-1000 update запросов за раз. Как лучше, можно ли 1 запросом за место 1000 ? Это сообщение отредактировал(а) Predator199 - 16.11.2012, 16:40 |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 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 } |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |