Четене от файл или SQL заявка?

Боже...

@StormBreaker : Твойте предложения не са лошо, но ще е хубаво да поясниш, че и най-леката промяна в заявката се отразява на кеширането - говоря за SQL_CACHE. Примерно SELECT * FROM и select * from са две различни заявки. Заявките НЕ трябва да се различават по нищо ( имам впредвид, че всеки байт трябва да е идентичен иначе кеша не бачка ).
Да не говорим, че има заявки които не могат да се кешират по този начин :-)
Как ще кешираш заявка която съдържа NOW() примерно ?

[sql]
SHOW VARIABLES LIKE "%cache%"
[/sql]

Провери дали е пуснато кеширането все пак... може да е пуснато автоматично да ти кешира, а може и да е само когато изрично му зададеш :

[sql]
SELECT SQL_CACHE ...
[/sql]

@RegexSux : Човек ти направо ме срази :-) Случайно да знаеш, че xml-ла създаден точно с тази цел за която ти говориш, че той никога няма да е подходящ? Би ли ми обяснил как ще напишеш Web Services без xml ? VodafoneLife ползват "pml" това е xml, но барнат от тях и си е само за тяхната платформа. Не знам как реши, че не е добър провайдър и, че е толкова бавен...

Относно автора на темата.

Приятелю имаш ли администрация на сайта ? ( тук трябва да кажеш Да )
Така в тази администрация ти можеш да променяш/добавя/изтриваш тези категории както и всеки един друг запис който е на сайта ти нали така ?
Ето ти решението. В пъти е по-бързо да допишеш в администрацията едно cache методче което да се изпълнява при някакво събитие в администрацията ти. Примерно : Добавяш нова категория и се стартира cache-а взима примерно всички категории и ги записва в някаква директория като сериализиран масив във файл примерно "categories.cache". Същото трябва да се случва и когато изтриеш или редактираш запис. След това в предната част просто му казваш :

PHP:
  eval('$categories = unserialize(file_get_contents('. $file .'));');
 print_r($categories);

В пъти по-бързо...
 
@dhtodorov - не съм съгласен с теб да се използва xml, но пък съм съгласен за SQL_CACHE. :lol:
 
Karcho каза:
@dhtodorov - не съм съгласен с теб да се използва xml, но пък съм съгласен за SQL_CACHE. :lol:

В кеширането което предложих... къде видя xml? Или имаш впредвид другото което написах?
 
dhtodorov каза:
Karcho каза:
@dhtodorov - не съм съгласен с теб да се използва xml, но пък съм съгласен за SQL_CACHE. :lol:

В кеширането което предложих... къде видя xml? Или имаш впредвид другото което написах?

Относно това, което писа след това.
 
Ако мога да ви предложа един мой проект точно за кеширането, дано да ви свърши работа.Зависи какво искаш да запазваш, но в случая аз го ползвам за всичко, замества ми работата на mysql даже.

http://quecache.sourceforge.net/
http://quecache.sourceforge.net/wiki/Functions
 
@RegexSux : Човек ти направо ме срази :-) Случайно да знаеш, че xml-ла създаден точно с тази цел за която ти говориш, че той никога няма да е подходящ? Би ли ми обяснил как ще напишеш Web Services без xml ? VodafoneLife ползват "pml" това е xml, но барнат от тях и си е само за тяхната платформа. Не знам как реши, че не е добър провайдър и, че е толкова бавен...


-------------------

Знам и то доста добре, за какво се ползва, от кога в Уеб сървисите, задължително трябва да ползвам XML за база данни? Ти определено не правиш разлика между транспорт на данни, и съдържане в база.

А като мислиш че е толкова бърз за събиране на информация в него.Направи си един файл с 30к рандом записа, и една база с също толкова.Извлечи 15 записа посредата.

Чакаме резултати от теста :)

П.П. Обещавам да черпя бири ако си прав и XML-a е по бърз.
 
RegexSux каза:
@RegexSux : Човек ти направо ме срази :-) Случайно да знаеш, че xml-ла създаден точно с тази цел за която ти говориш, че той никога няма да е подходящ? Би ли ми обяснил как ще напишеш Web Services без xml ? VodafoneLife ползват "pml" това е xml, но барнат от тях и си е само за тяхната платформа. Не знам как реши, че не е добър провайдър и, че е толкова бавен...


-------------------

Знам и то доста добре, за какво се ползва, от кога в Уеб сървисите, задължително трябва да ползвам XML за база данни? Ти определено не правиш разлика между транспорт на данни, и съдържане в база.

А като мислиш че е толкова бърз за събиране на информация в него.Направи си един файл с 30к рандом записа, и една база с също толкова.Извлечи 15 записа посредата.

Чакаме резултати от теста :)

П.П. Обещавам да черпя бири ако си прав и XML-a е по бърз.

Да беше ме разбрал правилно да ти отговоря.
 
Обясни ми кое не съм разбрал? Темата беше за съхраняване на данни, и някой реши да се изцепи че голям обем данни е хубаво да се държи в файл.А ти почна да го подкрепяш, май вие не сте разбрали за какво е темата.
 
dhtodorov каза:
@StormBreaker : Твойте предложения не са лошо, но ще е хубаво да поясниш, че и най-леката промяна в заявката се отразява на кеширането - говоря за SQL_CACHE. Примерно SELECT * FROM и select * from са две различни заявки. Заявките НЕ трябва да се различават по нищо ( имам впредвид, че всеки байт трябва да е идентичен иначе кеша не бачка ).
Да не говорим, че има заявки които не могат да се кешират по този начин :-)
Как ще кешираш заявка която съдържа NOW() примерно ?

PHP:
  eval('$categories = unserialize(file_get_contents('. $file .'));');
 print_r($categories);

В пъти по-бързо...

Кое е в пъти по-бързо :shock: Четенето на файл с eval ??? Или една проста SQL заявка дето ЩЕ я кешира. Ако има 20 карегории и ги взима по една ще кешира 20 заявки. Какъв е проблема? Пак всичко е в кеша. И какво, ще си сменя заявката през няколко секунди ли? Не, просто mysql ще запомни (кешира) тая заявка в двайсетте й варианта и всичко ще е много бързо.

А сега как си го представяш всеки път като се отвори сайта целия файл (бавно четене) да отива в паметта (повече памет), да го "разопакова" с unserialize (повече процесорно време)? Вместо просто да вземе само това, което му трябва от паметта.

Кое е по-бързо? Паметта или файловете? Да подсказвам ли? :D

Относно XML - страхотен е, но за големи обеми информация просто не е практичен. Говоря за над 1000 записа на нещо примерно. Особено ако е малко информацията. Ето ти пример:
HTML:
<root>
............................
<item>123</item>
<item>123</item>
<item>123</item>
.............................
</root>

За всеки запис добавяш по още 13 символа. Понякога може да са повече и от самата информация. А това реално не ти трябва. Е как е да прочетеш един файл в JSON формат примерно 100kb и да прочетеш XMLа 300kb. Да не говорим, че и парсера за XML е по-сложен => по-бавен. Просто не е практично.

А за web servicite най-спокойно може да си се ползва JSON.

ПП. XML се използва най-често за да може да е по-разбираем за програмистите. Ето за пример HTMLа. А представете си какво е да пишеш сайт на JSON. Просто XML е повече за хората, отколкото за компютрите. :)
 

Back
Горе